0

これは私の現在のスクリプトです...「sub.domain.com/register/USER」を許可する必要があります

現在、「sub.domain.com/login」を指す「sub.domain.com」の再書き込み条件があります。

私は何が間違っているのですか?

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST}  !^www.domain.com$
RewriteCond %{HTTP_HOST}   ^(.+).domain.com$
RewriteRule ^register(.*) https://%1.domain.com/register$1 [L,R=302,QSA]

RewriteCond %{HTTP_HOST}   ^(.+).domain.com$
RewriteRule ^$ https://%1.domain.com/login/ [L,R=302]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

更新の時点で、/ register/USERにリダイレクトループがあります。

4

1 に答える 1

1

最初のルールセットを次のように置き換えます。

RewriteCond %{HTTP_HOST}  !^www.domain.com$
RewriteCond %{HTTP_HOST}   ^(.+).domain.com$
RewriteRule ^register(.*) - [L,R=302,QSA]

編集:おそらくより良い解決策は、URIが/ register/userでない場合にのみ書き直すことです。したがって、上記のルールを削除し、その下のルールを次のように変更します。

RewriteCond %{HTTP_HOST}  !^www.domain.com$
RewriteCond %{HTTP_HOST}   ^(.+).domain.com$
RewriteCond %{REQUEST_URI} !^/register/?.*
RewriteRule ^(.*)$ https://%1.domain.com/login/ [L,R=302]
于 2012-05-27T22:50:19.833 に答える