.htaccess重写用于在子目录中隐藏Magento存储的规则

时间:2012-01-06 19:50:35

标签: regex .htaccess magento e-commerce

我有一个电子商务网站,出于安全原因(我认为)将其放在像www.mysite.com/magento这样的子目录中,而不是根目录。

为了查看网站,“magento”需要在链接中,但我想要的是能够通过访问www.mysite.com来查看我的网站,而不使用URL中的“/ magento”。

我对.htaccess文件一无所知,但很容易删除index.php后缀,但无法删除“/ magento”

我一直得到403,404&尝试这样做时有500个错误。

我尝试了很多重写规则......例如;

RewriteCond %{REQUEST_URI} ^magento [NC] 
RewriteRule ^magento/(.*)$ http://www.mysite.com/$1 [R=301,L]

RewriteBase /magento/ 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /magento/index.php HTTP/
RewriteRule ^index.php$ http://www.mysite.com/ [R=301,L]

这些是我在网上搜索但没有工作的规则。 任何人都可以指出我正确的方向或告诉我这是否可能吗?

干杯球员

1 个答案:

答案 0 :(得分:2)

我假设您网站上唯一拥有的是Magento,所有内容(包括css,js等)都在Magento目录中。 如果这是正确的,您可以将以下规则添加到域的根文件夹中的.htaccess。

RewriteEngine on
RewriteBase /

#uncomment the RewriteCond if you want to exclude certain files from this rule.
#RewriteCond %{REQUEST_URI} !\.(css|js|gif|png)$ [NC]
RewriteRule (.*) magento/$1 [NC,L]