少し前に、私はxamppからwampに移動しました
そして今、私が私のウェブサイトに入ったとき、このエラーが現れました:
内部サーバーエラーサーバーで内部エラーまたは設定ミスが発生し、リクエストを完了できませんでした。サーバー管理者admin @ localhostに連絡して、エラーが発生した時刻と、エラーの原因となった可能性のあるすべてのことを通知してください。このエラーの詳細については、サーバーエラーログを参照してください。
このコードを.htaccessで使用したとき:
<FilesMatch "\.(pdf|swf|js|css)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
<FilesMatch "\.(html|cgi|php|htm)$">
Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT"
Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
</FilesMatch>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
<Files *.js>
SetOutputFilter DEFLATE
</Files>
<Files *.css>
SetOutputFilter DEFLATE
</Files>
この問題を解決するにはどうすればよいですか?
Apache_error.logを見つけました:
[Sat Jan 07 13:58:06 2012] [alert] [client 127.0.0.1] C:/wamp/www/website/.htaccess:無効なコマンド「ヘッダー」、スペルが間違っているか、サーバーに含まれていないモジュールによって定義されている可能性があります構成、リファラー:localhost
WampサーバーでApache、Apacheモジュールをクリックし、rewrite_moduleをクリック(マーク)してwampサーバーを再起動すると問題が解決します
XP1が言ったように、これに対する答えはWAMPでheaders_moduleを有効にすることです。
WAMPインターフェースを使用するか、これをhttpd.confに追加します
LoadModule headers_module modules/mod_headers.so
mod_headersを有効にしても問題が解決しない場合は、AddOutputFilterByTypeが原因です。
これは、別のモジュールmod_filterを有効にすることで修正できます。
サーバー設定がリセットされたり、プロジェクトを別のサーバーに移行したりする場合は、「ifModule」コードを追加することもお勧めします。これは私のために働いた:
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
WAMPで多くの検索を行った後、ヘッダーモジュールはmod_headersモジュールを有効にしませんでした。 httpd.confファイルでmod_headersを有効にできます。開始時にモジュールのリストが表示されます。mod_headerを見つけて、開始時に#を削除し、WAMPを再起動します。これで、mod_headersモジュールが有効になり、ロードされます。
これを追加すると、コードは正常に機能するはずです
<IfModule mod_expires.c>
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
</IfModule>
Wampmanger LeftClick、Apache、ApacheModulesに移動し、(rewrite_module)を確認し、Apacheを再起動すると、問題ありません。
たとえば、場所とURLの間のスペースが解決策になる場合があります。
header('Location:usertimeline.php');
とは対照的にエラーは発生しません
header('Location: usertimeline.php');
私のヘッダーモジュールとすべてのものがチェックされたので、私はWAMPの初心者ですが、これを行うだけで終わりました。
.htaccessファイルでコマンドを実行するには、Apacheの書き換えモジュールを有効にする必要があると思いますが、デフォルトでは無効になっています。
WAMPを使用している場合は、タスクバー-> Apache-> ApacheModulesのwampサーバーアイコンをクリックするだけです。モジュールのリストが表示されます。次に、下にスクロールしてrewrite_moduleを見つけ、クリックします。それをクリックすると、WAMPはrewrite_moduleを有効にして再起動します。
したがって、このモジュールをアクティブ化すると、問題が解決する可能性があると思います。