删除index.php不是SEO友好

时间:2012-06-29 06:06:35

标签: php apache .htaccess codeigniter

编写允许我从URL中删除index.php的htaccess可能会混淆搜索引擎,因为我会有许多链接指向同一页面,例如。

http://www.domain.com/index.php/welcome/index
http://www.domain.com/index.php/welcome/
http://www.domain.com/welcome/index
http://www.domain.com/welcome/

如您所见,在搜索引擎优化方面,这可能是一个问题。我该怎么做才能解决这个问题?

我的.htaccess包含以下命令:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ci_sample/index.php/$1 [L]  

3 个答案:

答案 0 :(得分:3)

  1. 您应该将所有网址的301重定向设置为一个,由您选择为主要网址。
  2. 您可以在主页上添加rel = canonical标记,并将所选的URL放在那里,以通知抓取工具有关正确的网站地址。

答案 1 :(得分:1)

除非您链接到每个URI的所有可能组合,否则搜索引擎将不会更明智地指向同一资源的各种地址。他们只会抓取您网站上的可见链接,因此决定一个约定并继续使用它。如果您从未在网站的任何页面上链接到index.php/welcome/index,那么很可能永远不会将其编入索引。

答案 2 :(得分:0)

这肯定会有用......我已经用这段代码删除了index.php,并且它对我有用。通过此代码在SEO中没有问题。

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]