所以我把丑陋的php网址重写为更漂亮的东西:
RewriteEngine On
RewriteRule ^main/photo([^/\.]+)/?.html$ main/details.php?gid=$2pid=$1
然而,现在我想强迫任何前往
的人http://www.example.com/main/details.php?gid=20&pid=5
重定向到
htto://www.example.com/main/photo5.html
我尝试了以下RewriteCond:
RewriteCond %{REQUEST_URI} ^/main/details\.php [NC]
RewriteRule ^main/details.php?gid=(.*)&pid=(.*) http://www.example.com/main/photo$1.html [R=301,L]
但那没用。有什么想法吗?
答案 0 :(得分:0)
您需要查看request line以确定当前请求URI是否是原始URI。此外,您需要使用RewriteCond
指令来测试URI的查询:
RewriteCond %{THE_REQUEST} ^GET\ /main/details\.php
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)pid=([0-9]+)(&.*)?$
RewriteRule ^main/details\.php$ /main/photo%3.html? [L,R=301]