我的菜单中有一个网址:
http://www.example.com/index.php?main_page=contact_us
我在.htaccess中使用以下内容将其变成'干净'的网址:
RewriteRule ^/?([^/d]+)/?$ index.php?main_page=$1 [L,QSA]
尽管这样可行,但是我可以使用 http://www.example.com/contact_us 来访问联系页面没有任何问题,它实际上并没有改变原始链接。
所以现在我想我需要改变php菜单中的链接以使用干净的URL或使用更好的htaccess重写规则来自动完成。我更喜欢后者,任何想法?
答案 0 :(得分:1)
您可以插入此新规则来执行此重定向:
RewriteCond %{THE_REQUEST} \s/+index\.php\?main_page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L,NE]
RewriteRule ^([^/.]+)/?$ index.php?main_page=$1 [L,QSA]