一直在尝试更改我的网址,以使他们更友好的SEO 而目前已经设法让他们如何工作 我想要它。
我原来的网址是这样的: http://www.example.com/index.php?keyword=nikon
所以设法得到这个重写,现在它看起来像这样:
http://www.example.com/compare/nikon.html
使用此:
RewriteEngine On
RewriteRule ^compare/([^/]*)\.html$ /index.php?keyword=$1 [R,NC,L]
但是我试图得到最终结果,以便地址栏中的url 是这样的:http://www.example.com/compare/nikon.html
如果我更改它以便重写的url在地址栏中就可以了 变量仍然传递,并且在有#锚标记的情况下 在网址之后它还能运作吗?
感谢您的帮助
答案 0 :(得分:1)
您希望摆脱规则中的R
标记。这导致地址栏被更改为原始难看的URL。
此外,如果您想将浏览器从丑陋的URL重定向到更好看的URL,则需要一个不同的规则。如下所示:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+index\.php\?keyword=([^&\ ]+)
RewriteRule ^ /compare/%1.html? [L,R]
RewriteRule ^compare/([^/]*)\.html$ /index.php?keyword=$1 [NC,L]