web-dev-qa-db-ja.com

WAMP .htaccessは、XAMPPから移動した後に内部サーバーエラーを発生させます

少し前に、私は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

13
user1123379

WampサーバーでApache、Apacheモジュールをクリックし、rewrite_moduleをクリック(マーク)してwampサーバーを再起動すると問題が解決します

26
user1136975

XP1が言ったように、これに対する答えはWAMPでheaders_moduleを有効にすることです。

WAMPインターフェースを使用するか、これをhttpd.confに追加します

LoadModule headers_module modules/mod_headers.so
19
Rob Forrest

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>
11
JBS

WAMPで多くの検索を行った後、ヘッダーモジュールはmod_headersモジュールを有効にしませんでした。 httpd.confファイルでmod_headersを有効にできます。開始時にモジュールのリストが表示されます。mod_headerを見つけて、開始時に#を削除し、WAMPを再起動します。これで、mod_headersモジュールが有効になり、ロードされます。

2
Shiva Avula

これを追加すると、コードは正常に機能するはずです

    <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>
1
Ankit Anand

Wampmanger LeftClick、Apache、ApacheModulesに移動し、(rewrite_module)を確認し、Apacheを再起動すると、問題ありません。

1
Ahmed Deeb

たとえば、場所とURLの間のスペースが解決策になる場合があります。

header('Location:usertimeline.php');

とは対照的にエラーは発生しません

header('Location:   usertimeline.php');

私のヘッダーモジュールとすべてのものがチェックされたので、私はWAMPの初心者ですが、これを行うだけで終わりました。

0
Nimrod Mpandari

.htaccessファイルでコマンドを実行するには、Apacheの書き換えモジュールを有効にする必要があると思いますが、デフォルトでは無効になっています。

WAMPを使用している場合は、タスクバー-> Apache-> ApacheModulesのwampサーバーアイコンをクリックするだけです。モジュールのリストが表示されます。次に、下にスクロールしてrewrite_moduleを見つけ、クリックします。それをクリックすると、WAMPはrewrite_moduleを有効にして再起動します。

したがって、このモジュールをアクティブ化すると、問題が解決する可能性があると思います。

0
SwR