0

私はこれを持っています

#RewriteCond %{HTTP_HOST} ^([^\.]+)\.localhost$ [NC]
#RewriteRule ^$ /s/index.php?s=%1 [L]

この場合、たとえばtest.localhostを呼び出すと、localhost / s / index.php?s=testからコンテンツが取得されます。

ただし、アドレスバーにwww.localhostと入力すると、/ s/index.phpからコンテンツを取得できなくなります。

htaccessで条件を書くにはどうすればよいですか。

たとえば、www=/s/index.phpからコンテンツを取得しない場合

4

2 に答える 2

2

RewriteCond除外するには別のものが必要ですwww.

# Matches all subdomains:
RewriteCond %{HTTP_HOST} ^([^\.]+)\.localhost$ [NC]
# But then excludes www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^$ /s/index.php?s=%1 [L]
于 2012-05-20T19:35:59.273 に答える
1

したがって、 .localhostがwww.localhostを除くすべてのlocalhost / s / index.php?s =にアクセスできるようにしますか?最も簡単で具体的な方法は次のとおりです。

RewriteCond %{HTTP_HOST} ^([^\.]+)\.localhost$ [NC]
RewriteCond %{HTTP_HOST} !=www.localhost [NC]
RewriteRule ^$ /s/index.php?s=%1 [L]

これは、RewriteCondの「字句的に等しい」チェックを使用します。これは、正規表現よりも最も正確で、わずかに高速である必要があります。

于 2012-05-20T19:38:49.377 に答える