0

サブディレクトリを検索クエリに変換しようとしています。だから基本的に:

example.com/pizza

次のように変換されます:

example.com/?s=pizza

私はhtaccessの基本的な知識があり、以前にも同様のことをしましたが、今回はそれを機能させることができません。これが問題です:

これは機能します:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /results/?s=$1 [L,QSA]

ただし、書き換えターゲットをルートにポイントすると、ユーザーはクエリ文字列なしで「example.com」にリダイレクトされます。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /?s=$1 [L,QSA]

「example.com/pizza」を「example.com/?s=pizza」に書き換えるにはどうすればよいですか?

4

1 に答える 1

1

あなたはこれを試すことができます:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(?:.*)?/([^/]+)/?  [NC]
RewriteRule .*      /?s=%1                     [L]

静かにマップ:

http://example.com/any/number/of/folders/parameter末尾のスラッシュの有無にかかわらず。

に:

http://example.com/?s=parameter

すべての文字列は可変であると見なされます。

永続的で目に見えるリダイレクトの場合は、に置き換え[L]ます[R=301,L]

于 2013-02-19T04:49:58.257 に答える