1

設定に少し問題がありApache mod rewriteます。

次のような URL が必要です。

http://mysite.com/search+terms

この設定を試しましたhtaccessが、うまくいきません:

RewriteRule ^(.*)$ /search.php?s=$1

それは私に戻ります500 Internal Server Error

どうすれば修正できますか?ありがとうございました。

4

3 に答える 3

0

この行を入れてみてください、

RewriteEngine on
RewriteBase /

また、 RewriteBase をsearch.phpの正しい場所に設定します

編集

クエリ文字列の htaccess 書き換えの重複として分類できます

編集 2

の接頭辞スラッシュを削除します

RewriteRule ^(.*)$ /search.php?s=$1

なる

RewriteRule ^(.*)$ search.php?s=$1
于 2013-07-16T08:21:35.393 に答える
0

.*正規表現は書き換え後も常に一致するため、無限ループのために 500 内部エラーが発生します。RewriteCond を使用してこれを停止する必要があります。コードを次のように置き換えます。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ search.php?s=$1 [L,QSA,NE]
于 2013-07-16T10:26:29.800 に答える
0

この .htaccess コードを試してください:

RewriteEngine on
RewriteRule ^search+(.*)$ /search.php?s=$1
于 2013-07-16T10:19:11.307 に答える