我有数百个这样的链接:
http://www.domain.com/index.php?tag=value
我想将所有链接重定向到
http://www.domain.com/value/
示例:
Link1 http://www.domain.com/index.php?tag=LW1fdX49tR
重定向到:http://www.domain.com/LW1fdX49tR/
Link2 http://www.domain.com/index.php?tag=A3kh0QLIrc
重定向到:http://www.domain.com/A3kh0QLIrc/
Link3 http://www.domain.com/index.php?tag=vXwNR4U9qY
重定向到:http://www.domain.com/vXwNR4U9qY/
等
我该怎么做? 谢谢!
答案 0 :(得分:5)
除了重定向请求之外,您可能还想确保新网址确实有效。您需要外部重定向和内部重写。在下面的示例中,我使用THE_REQUEST技巧仅触发规则,如果它是实际的请求URL,而不是在内部重写。需要防止无限循环。
#External redirect with THE_REQUEST trick; change R to R=301 when everything works correctly
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?tag=(.*)\ HTTP
RewriteRule ^ /%2? [R,L]
#Internal rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?tag=$1 [L]