【发布时间】:2011-08-02 17:52:38
【问题描述】:
我有一个网站,它使用前端控制器将流量重定向到某些文件,因此我可以使用 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 错误 - 它看起来对最终用户没有任何不同,但是当 Google 机器人看到 404 时,它会扰乱我的 SEO并假设那里没有其他东西。
有什么方法可以简单地重定向除某些页面列表之外的所有流量,还是有更优雅的解决方案?
欢迎任何帮助、想法、cmets 等
【问题讨论】:
-
使用你现在所拥有的——当你使用
header()PHP 函数成功路由请求时,你是否尝试过发送 200 响应代码?
标签: php .htaccess mod-rewrite url-rewriting front-controller