.htaccess创建用户友好的URL并重定向到它

时间:2014-11-23 20:10:25

标签: php .htaccess seo

我试图到处寻找这个问题,但我什么都没找到。

我想让url seo友好,所以我使用了这段代码:

RewriteEngine on    
RewriteRule ^Homepage index.php [NC,L]

然后我想重定向到它,所以我试着编写这段代码:

RewriteRule ^index.php$ http://localhost/siti/socialmark/Homepage [R=301,L]

错误是一个重定向循环,有人可以帮助我吗?

对我不好的英语抱歉!

1 个答案:

答案 0 :(得分:0)

重写规则不只是使URL字符串看起来不同,它实际上将用户引导到路径末尾的文件,即使您没有在地址栏中看到它。如果Homepage是包含index.php的目录,即使该URL文件名没有出现在URL中,它也会导致循环,因为它会将您引导到具有index.php的目录。

每次加载页面时都会执行规则。因此,您将重定向到运行重定向脚本的页面,因此它会再次运行规则以重定向,从而导致循环。您要做的是创建一个条件,如果请求的页面为http://localhost/siti/socialmark/Homepage,则不要运行此代码“

这样的事情(你可能需要调整它)

RewriteBase /
RewriteCond %{REQUEST_URI} !=/siti/socialmark/Homepage
RewriteRule ^Homepage index.php [NC,L]

有关详细信息,请参阅此处的注意事项和示例: http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_l