我的重写规则:
RewriteRule ^articles/([a-z]+)/([0-9]+)/?$ /index.php?page=articles&cat=$1&id=$2 [L]
RewriteRule ^articles/([a-z]+)/?$ /index.php?page=articles&cat=$1 [L]
RewriteRule ^([a-z]+)/?$ /index.php?page=$1 [L]
因此,在index.php文件中,我检查是否存在page
。如果找到,则回显该页面。否则,该怎么办?
哪一个好?我想知道搜索引擎友好的选项。
答案 0 :(得分:2)
你肯定应该有一个header(),它返回正确的404错误代码。这将确保谷歌不会将您的错误页面编入索引。使用没有404代码的消息提供标准页面称为软404错误,并且不受标准(以及谷歌)的阻止。
见这里:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=181708
但是没有必要向访问者显示一个丑陋的纯文本错误,或者依赖于浏览器的默认错误页面。即使您输出404代码,您仍然可以提供漂亮的页面,可能包含指向您主页的链接或相关资源。
答案 1 :(得分:1)
优先
- 使用header()发送404页面未找到的响应?(硬404)
这是理想的,因为页面确实找不到。
- 回复“未找到页面”这样的消息? (软404)
这很好,因为你试图在内部找到页面但不完全理想。
不要做:
发送重定向到主页?
因为这不会描绘任何信息,如
- 是否找不到该页面。
- 有任何内部错误 等
通过这个:404 errors soft vs. hard你会得到这个想法。