使我的php页面搜索引擎友好

时间:2012-02-04 07:17:54

标签: php mod-rewrite seo

在我的网站中,我使用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分机的文件?

2 个答案:

答案 0 :(得分:0)

如果您有2个网址加载相同的网页,其中一个网页是搜索引擎友好的而另一个不是,那么这对您的网站AFAIK并不是真的有害。基本上你只想尽可能多地向搜索引擎公开,所以如果你需要提供一个并行轨道,例如一个没有Javascript就可以正常工作的锚标签,因为这个动作会把你带到正确的位置(这对于一个机器人),但通常是由Javascript管理的客户端(大多数标准的Web浏览器)然后你是黄金。

编辑:

关于并行路径的评论中的每个OP问题。说我有一个链接,一个锚标记。

<a id="moxune_services" href="http://moxune.com/services" action="get" target="_self">Moxune Services</a>

你可以看到这是一个有效的链接(我将从StackOverflow获得它的SEO点; P但无论如何,说这是一个起伏的JS驱动网站的一部分,而不是在这个链接时刷新整个页面单击,我只想要有一个页面的子部分,例如,当我有AJAX后, div w / id =“content”被替换为新鲜内容加载它.js就像这样的东西(没有测试,这只是我的头脑)(也是一个jQuery解决方案):

// very crude jQuery example!
$('#moxune_services').click(function() {
  $.get($(this).attr('href'), function(sNewHtml) {
    $('#content').replaceWith(sNewHtml);
  });
});

现在你看,谷歌机器人可以通过HTML标签到达页面,没问题,但是你的客户正在寻找一个Web 2.0(TM)网站,因为他们有JS,所以可以享受缺乏整页刷新的问题。启用(希望不使用IE 6:O)。

这个词的一个术语是'优雅退化'。

答案 1 :(得分:0)

quickshiftin就在这里。没有必要隐藏index.php

如果必须,请执行此操作:

RewriteRule ^index\.php.+$ / [L,R=301]

我没有对此进行测试,因此可能无效,但一般的想法是将index.php重定向到/