簡単な質問のように見えます。しかし、私は単に理解していません:
この htaccess ルールは機能します。
RewriteEngine On
RewriteRule ^m(.+)$ ?s=$1
しかし、これはしません:
RewriteEngine On
RewriteRule ^(.+)$ ?s=$1
内部サーバー エラーを返します。その正規表現の何が問題になっていますか? 機能するためには何を変更する必要がありますか?
簡単な質問のように見えます。しかし、私は単に理解していません:
この htaccess ルールは機能します。
RewriteEngine On
RewriteRule ^m(.+)$ ?s=$1
しかし、これはしません:
RewriteEngine On
RewriteRule ^(.+)$ ?s=$1
内部サーバー エラーを返します。その正規表現の何が問題になっていますか? 機能するためには何を変更する必要がありますか?
「機能しない」とはどういう意味かわかりませんが、書き換えループに陥る可能性があると思います。
これを試して:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^?s=
RewriteRule ^(.+)$ ?s=$1
私はこれをテストしていませんが、それがすべきことは、?sパラメータがまだ追加されていない場合にのみ書き直すことです。
ああ、RewriteConds で実際のクエリ文字列を探すこともできることに気付きました。あなたは試すことができます:
RewriteEngine On
RewriteCond %{QUERY_STRING} !s=
RewriteRule ^(.+)$ ?s=$1