use*_*960 5 apache .htaccess redirect http-status-code-301
我有数百个这样的链接:
http://www.domain.com/index.php?tag=value
Run Code Online (Sandbox Code Playgroud)
我想将所有链接重定向到
http://www.domain.com/value/
Run Code Online (Sandbox Code Playgroud)
例:
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/
等等
我怎样才能做到这一点?谢谢!
除了重定向请求之外,您可能还需要确保新的url确实也起作用。为此,您将需要外部重定向和内部重写。在下面的示例中,我使用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]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13000 次 |
最近记录: |