2009-04-02 16 views
1

これは/〜新/なぜ、この.htaccessはフォルダを含んでいるのでしょうか?

# invoke rewrite engine 
    RewriteEngine On 

# force domain.com to www.domain.com 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$0 [R=301,L,NC] 

http://domain.com/~new/helloにアクセスする場合、それはhttp://www.domain.com/hello

に書き換えられているwww.はそれのようで追加されている下にある.htaccessファイルからすべきであるが、いくつかの理由でそれのために/〜new /サブディレクトリを無視しています。

これを引き起こしている可能性があるのは誰ですか?参考までに、TLDに.htaccessがありますが、それは空です。私は正規表現置換文字列に/〜new/tackを付けることができますが、汎用性のあるソリューション(移植性のため)を好むと思います。なぜ最初にそれを取り除いているのかわかりません。私もRewriteBaseで遊んでみましたが、動作させることができませんでした。

おかげ

答えて

2

は、私は通常、{REQUEST_URI}はあなたの書き換えルールであることだと思う:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www..* 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} ^([^.]*).(com|com/) 
RewriteRule ^.*$ www.%1.%2%{REQUEST_URI} [R=301,L] 
+0

私は、HTTPを挿入しなければならなかった:あなたのRewriteRuleにWWW前に//をし、それが働きました!また、私のサイトはオーストラリアのドメイン上にあるので、あなたの(com | com /)を(com.au | com.au/)に変更しました。ありがとう! – alex

+1

実際、私は最後の部分を([a-z \。] {2,6} – alex

関連する問題