2015-04-01 95 views
0

一直在试图改变我的网址,使他们更加搜索引擎优化 ,并在此刻设法让他们工作如何 我想要它。htaccess重写地址栏

我原来的网址是: 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] 

但我试图获得最终结果,以便地址栏 中的网址是像这样:http://www.example.com/compare/nikon.html

如果我改变它,这样的重写URL在地址栏中将 变量仍获得通过,在那里是在URL后锚#标签 将它仍然工作情况?

感谢所有帮助

回答

1

你想在你的规则摆脱R标志。这导致地址栏被更改为原始丑陋寻找的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] 
+0

非常感谢您的帮助,但是当我尝试在它上面它重写URL地址栏,但不加的.html位 – OLM256 2015-04-01 03:56:12

+0

都能跟得上只是检查 – OLM256 2015-04-01 03:57:02

+0

@ OLM256不,我忘了将它添加到规则,请参阅上面的编辑 – 2015-04-01 03:57:42