2012-01-06 12 views
1

私は電子商取引サイトを持っています。安全な理由から、www.mysite.com/magentoのようなサブディレクトリにあり、ルートではありません。.htacces Magento Storeをサブディレクトリに隠すための書き換えルール

サイトを表示するにはリンクに「magento」が必要ですが、URLに「/ magento」を付けずにwww.mysite.comにアクセスして自分のサイトを表示することができます。

私は.htaccessファイルのない偉大な知識を持っていませんが、簡単にindex.phpの接尾辞を取り除いたが、そうしようとしたとき、私は403を得続ける「/ Magentoの」

、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

+0

間違いなく、仮想ホストを調整します。 – roberttstephens

答えて

2

私はあなたのサイトに持っている唯一のことは、Magentoのと(JSなどCSSを含む)すべてが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のエラーが発生しましたが、ルートhtaccessファイルのコードを使用すると、URLはwww.mysite.com/magnetoにリダイレクトされ、ストアが表示されます。しかし、 "/ magento"はまだURLに表示されています。 「/ magento」を隠そうとする別の方法はありますか? 本当にありがとうございます – user1045818