1

.htaccess に次の入力/出力パターンが必要です。

シナリオ #1:

入力: http:// subdomain.domain.com

出力: http://www.domain.com/usersite/site.php?site=subdomain

シナリオ #2:

入力: http:// subdomain.domain.com/tos.html

出力: http://www.domain.com/usersite/tos.php?site=subdomain


次の .htaccess を使用してシナリオ #1 を処理できました。

RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/usersite/site.php?site=%1 [L]

しかし、シナリオ#2の処理方法がわかりません...

4

1 に答える 1

1

ルールのみを処理するように変更します^$(例: URI なし、 のみ/)。次に、条件を複製し、既存のリソースを書き換えていないことを確認するために、-f-dを確認します。

最初のルール:

RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC]
RewriteRule ^$ http://www.domain.com/usersite/site.php?site=%1 [L]

2 番目のルール:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC]
RewriteRule ^(.*)\.html$ http://www.domain.com/usersite/$1.php?site=%1 [L]

それはあなたの2番目のシナリオを処理し、にリダイレクト/tos.htmlする必要があります/usersite/tos.php?site=subdomain

于 2012-07-13T16:34:45.077 に答える