2012-01-06 60 views
1

我有一個電子商務網站,出於安全原因(我認爲)將其放在了諸如www.mysite.com/magento之類的子目錄中,而不是根目錄。.htacces在子目錄中隱藏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] 

這些是我發現在網上搜索但沒有工作的一些規則。 任何人都可以指向正確的方向或告訴我這是否可能?

乾杯傢伙

+0

爲什麼不直接設置DocumentRoot? – fge 2012-01-06 20:01:14

+0

當然,請調整虛擬主機。 – roberttstephens 2012-01-06 21:46:14

回答

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] 
+0

感謝您的快速回復。 我認爲你的解決方案是在正確的軌道上,但它不是我所需要的。以前,當我使用www.mysite.com時,我得到了403或404或500錯誤,但現在將您的代碼放入root htaccess文件中,url被重定向到www.mysite.com/magneto,並且商店可見。但是「/ magento」在url中仍然可見。 是否有另一種嘗試隱藏「/ magento」的方法? 我真的很感謝你的回覆 – user1045818 2012-01-06 20:16:16