ディレクトリに対してのみ、URLを書き換えるにはどうすればよいphotos
ですか?
http://www.abc.com/photos/index.php?page=2
にhttp://www.abc.com/photos/page/2
私の.htaccess
# Turn mod_rewrite on
RewriteEngine on
RewriteBase /
...
ディレクトリに対してのみ、URLを書き換えるにはどうすればよいphotos
ですか?
http://www.abc.com/photos/index.php?page=2
にhttp://www.abc.com/photos/page/2
私の.htaccess
# Turn mod_rewrite on
RewriteEngine on
RewriteBase /
...
RewriteRule ^photos/page/([0-9]+) index.php?page=$1
RewriteRule ^photos/index.php?page=([0-9]*)$ /photos/page/$1 [R=301,L]
どの文字列が動的であるかについて言及していないので、この回答ではpage
と2
が可変であると想定しています。
これを試すことができます:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteCond %{REQUEST_URI} ^/photos/([^/]+)/([^/]+)/? [NC]
RewriteRule .* photos/index.php?%1=%2 [L,QSA]
内部でマップする
http://www.abc.com/photos/key/val
末尾のスラッシュの有無にかかわらず
に:
http://www.abc.com/photos/index.php?key=val
文字列key
とval
は可変であると見なされ、 はphotos
固定であると見なされます。
永続的で目に見えるリダイレクトの場合は、 に置き換え[L,QSA]
ます [R=301,L,QSA]
。
RewriteEngine On
RewriteRule ^photos/page/([a-zA-Z0-9-/]+)$ photos/index.php?page=$1 [QSA]
RewriteRule ^photos/page/([a-zA-Z0-9-/]+)/$ photos/index.php?page=$1 [QSA]