在我的网站上,我已经使用mod重写,使搜索引擎和用户友好的网址。
只有3条规则:
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,即使不使用友好的URL (也就是传递参数),它也可以正常工作。那么,这是按搜索引擎排名下降的吗?是否必须阻止对扩展名为.php的文件的直接访问?
发布于 2012-02-04 15:21:43
如果你有两个URL加载相同的页面,其中一个是搜索引擎友好的,另一个不是,这并不是真正有害于你的网站AFAIK。基本上,你只想尽可能多地向搜索引擎公开,所以如果你需要提供一个并行跟踪,例如一个没有Javascript也能正常工作的锚标签,因为这个动作会把你带到正确的地方(这对机器人来说是理想的),但通常是由Javascript管理的客户端(大多数标准的web浏览器),那么你就是黄金用户。
编辑:
关于并行路径的注释中的每个操作问题..假设我有一个链接,一个锚标签。
<a id="moxune_services" href="http://moxune.com/services" action="get" target="_self">Moxune Services</a>你可以看到,这是一个有效的链接(我将从StackOverflow获得SEO点;P但不管怎样,说这是一个沉重的JS驱动的网站的一部分,而不是刷新整个页面,当这个链接被点击时,我只想有页面的一个子部分,如一个div w/ id=“内容”是存在的地方)被替换为新的内容后,我有AJAX加载它。js应该是这样的(没有测试,这只是我的想法)(也是一个jQuery解决方案):
// very crude jQuery example!
$('#moxune_services').click(function() {
$.get($(this).attr('href'), function(sNewHtml) {
$('#content').replaceWith(sNewHtml);
});
});现在您可以看到,google bot可以通过HTML a标记访问页面,这是没有问题的,但是寻找Web2.0 (TM)网站的客户将能够享受缺少完整页面刷新的好处,因为他们启用了JS (并且希望不是使用IE6 :O)。
其中一个术语是“优雅的降级”。
发布于 2012-02-04 15:35:22
快速切换就在这里。隐藏index.php是没有意义的
如果必须这样做,请执行以下操作:
RewriteRule ^index\.php.+$ / [L,R=301]我没有对此进行测试,所以它可能无法工作,但一般的想法是将index.php重定向到/
https://stackoverflow.com/questions/9139136
复制相似问题