我有一个网站使用前端控制器将流量重定向到某些文件,所以我可以使用SEO友好的URL,但网站上有一些静态页面,我不想让流量远离:
我目前有以下内容.htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.exmple.com/$1 [L,R=301]
ErrorDocument 404 /controller.php
似乎工作正常:
www.example.com
; controller.php
来处理; www.example.com/about_us.php
仍有效; 问题在于它仍然报告404错误,即使页面仍然正确发送和显示 - 它与最终用户看起来没有任何不同,但是随着谷歌机器人看到404,它搞砸了我的搜索引擎优化并假设那里没有别的东西。
有什么方法可以简单地将所有流量重定向到某些页面列表之外,还是有更优雅的解决方案?
任何帮助,想法,评论等都会受到欢迎
答案 0 :(得分:1)
RewriteEngine On
ErrorDocument 404 /controller.php
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT]
你应该通过index.php路由...否则下面的行应该起作用而不是上面的行。
RewriteRule .* $0 [PT]