0

http://www.mysite.com/cat/top/union-madeを取得しようとしてい ます

http://www.mysite.com/cat/top/union-made-in-usaに転送する

しかし、それは私の動的な書き換えと混ざっているようで、これを取得します: http://www.mysite.com/cat/top/union-made-in-usa/2?topic=union-made&pg=

これが私の現在のhtaccessルールです:

RewriteRule ^cat/top/union-made/ /cat/top/union-made-in-usa [R=301,L]

#Redirect dynamic pages to static links
RewriteRule ^cat/top/([a-z0-9_-]+)/?([a-z0-9_-]*) /cat/index.php?top=$1&pg=$2 [NC,L] 

[L] でダブルルールが止まると思ったが、違う。ご協力いただきありがとうございます。

4

2 に答える 2

0

フレンドリ URL を保持し、ループを防ぐには、代わりに次を使用します。

RewriteRule ^cat/top/([a-z0-9_-]+)/?([a-z0-9_-]*) /cat/index.php?top=$1&pg=$2 [L,QSA]
于 2012-07-19T20:55:12.353 に答える
0

このルールは問題ありません:

RewriteRule ^cat/top/union-made/ /cat/top/union-made-in-usa [R=301,L]

ただし、古いルールを調整して、複数のパスの深さを処理し、「ユニオン製」を除外する必要があります

RewriteCond %{REQUEST_URI} !union-made
RewriteRule ^cat/top/([a-z0-9_-]+)/([a-z0-9_-]*) /cat/index.php?top=$1&pg=$2 [NC,L] 

# If the last bit of the path isn't there, you can handle it separately here:
RewriteCond %{REQUEST_URI} !union-made
RewriteRule ^cat/top/([a-z0-9_-]+)/? /cat/index.php?top=$1 [NC,L]
于 2012-07-20T00:12:16.033 に答える