我不确定是否可以,但我想将旧网址重写为新风格,如果有人访问旧网址,我想将其重定向到新网址样式
旧网址:/ catalog / category / some-category-page
新网址:/ some-category-page / category
我还需要将REQUEST_URI传递给PHP脚本
我有类似的东西,但它不起作用(递归):
RewriteEngine On
RewriteRule ^catalogue/category/(.+)$ /$1/category [R=301,L] # this is bad I know
RewriteRule ^(.+)/category?$ /catalogue/category/$1 [P]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php?modrewrited=%{REQUEST_URI} [QSA,L]
感谢您的帮助。
答案 0 :(得分:1)
如果您的PHP脚本需要从$_SERVER['REQUEST_URI']
读取,则需要确保加载mod_proxy。除了导致重定向循环。您需要有第一个重定向的规则检查实际的请求变量。所以而不是:
RewriteRule ^catalogue/category/(.+)$ /$1/category [R=301,L] # this is bad I know
你想要:
RewriteCond %{THE_REQUEST} \ /+catalogue/category/([^\ \?]+)
RewriteRule ^ /%1/category [L,R=301]