0

以下は(wwwを削除するために)私のために働いていましたが、十分に具体的ではなかったため、サブドメインを台無しにし始めたことに気付きました

RewriteCond %{HTTP_HOST} !^site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R,L]

だから私は追加しました

    RewriteCond %{HTTP_HOST} !^hotels$ [NC]
    RewriteRule ^(.*)$ http://hotels.site.com/$1 [R,L]

明らかに正しくありません (この 2 番目の部分はまったく必要ありません) - 最初の部分の URL のドット (ピリオド) をエスケープする必要があることを理解しましたが、www.hotels と一致させる必要がなくなりました。 site.com - この場合、www を削除したいのですが、サブドメインにリダイレクトしたいと考えています。要するに、私は常に www を削除し、サブドメインを機能させたいと思っています。

RewriteCond %{HTTP_HOST} !^www\.site\.com$ [NC]

したがって、この最後の行は非常に具体的であり、www.site.com にのみ一致する必要があります。

では、なぜそうではないのでしょうか?

4

1 に答える 1

0

^www\.site\.com$は完全に一致するだけwww.site.comです。

^hotels$は完全に一致するだけです。hotelsおそらく、^hotelswhich が で始まるものに一致することを意味していたのでしょうhotels

要件を理解するのは難しいと思いますが、単に削除したいwww場合は使用できます

RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^.*$ http://%1/$0 [R,L]
于 2013-03-03T16:33:37.743 に答える