Magento,将带有index.php的URL重定向到没有它的URL

时间:2017-12-15 13:45:44

标签: php apache .htaccess magento mod-rewrite

我正在建立一个Magento网站,该网站不在任何子目录中,例如/shop

在网站上的每个网址都有index.php附加到域名旁边之前,例如管理面板为example.com/index.php/admin

我在Magento的管理面板中启用了Mod_rewrite,并添加了一个.htaccess文件,其中包含以下内容,以确保example.com/admin实际进入管理面板,依此类推。它确实有效。

这是htaccess配置:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

问题在于,当我手动输入example.com/index.php/admin时,它会按照预期将我带到管理面板,但网址仍然保留,我希望它会重定向到正确的网址example.com/admin,但我是不能够。

我是否必须向htaccess添加任何配置或与Magento相关?

1 个答案:

答案 0 :(得分:2)

您可以使用以下重写规则来执行此操作:

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

这将检查网址是否包含index.php,如果是,则会重定向到没有index.php的网址。