htaccess重写规则为magento index.php单个主页URL?

时间:2013-12-19 18:34:51

标签: regex apache .htaccess magento mod-rewrite

Magento默认侦听3个可能的网址到达主页:

  1. https://www.shop.nl/
  2. https://www.shop.nl/index.php
  3. https://www.shop.nl/index.php/
  4. 谷歌不喜欢这种行为,我正在尝试优化我的搜索引擎商店。所以我去了Magento的.htaccess文件并尝试编辑正确的规则。然而,这似乎不起作用。

    我尝试用以下代码替换第175行:RewriteRule .* index.php [L]

    RewriteCond %{REQUEST_URI} !^/index.php/admin($|/)
    RewriteRule ^index.php(/(.*))? /$2 [R=301,QSA,L]
    

    这是因为我发现magento的后端不喜欢我从URL中删除index.php。它适用于根URL。但问题是我无法查看任何其他页面。所有人都将我重定向到主页。

    有人有什么建议吗?而且我也想知道为什么magento会这样做。我无法弄清楚这是如何有用的。

    注意:我想知道我在suPHP上运行是否重要。

1 个答案:

答案 0 :(得分:1)

在您的magento .htaccess中将此规则添加为第一条规则

RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php/?$ /$1 [L,R=301,NC,NE]

这将从原始网址中删除index.php(而不是从重写的URI中删除)。