mod_rewrite に関しては、私はまったくの初心者です。私のコード:
Options +FollowSymlinks -MultiViews
RewriteBase /
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(product)/\?id=([^\s]+) [NC]
# Strip the query and redirect permanently
RewriteRule ^(product) /$1/%3? [R=301,L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^$
# Map internally to the original request
RewriteRule ^(product)/([^/]+)/? /$1/?id=$2 [L,NC]
機能
example.com/products?id={string}
=書き換え=>example.com/products/{string}
を含むid={string}
問題
スラッシュをクエリ文字列の末尾として扱いますが、これは望ましくありません。{string}
文字にヒットするまで文字列として扱いたいです&
。これは可能ですか?もしそうなら、どうすればこれを行うことができますか?
例えばFor "id=sdf/sdf/wer/sfd" print_r($_GET['id']) would be "sdf/sdf/wer/sfd"