我试图到处寻找这个问题,但我什么都没找到。
我想让url seo友好,所以我使用了这段代码:
RewriteEngine on
RewriteRule ^Homepage index.php [NC,L]
然后我想重定向到它,所以我试着编写这段代码:
RewriteRule ^index.php$ http://localhost/siti/socialmark/Homepage [R=301,L]
错误是一个重定向循环,有人可以帮助我吗?
对我不好的英语抱歉!
答案 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