1

これを組み合わせる方法はありますか:

RewriteCond %{THE_REQUEST} (user-x/project/www)
RewriteRule ^.*$ /user-x/project/www/index.php [NC,L]

RewriteCond %{THE_REQUEST} (user-y/project/www)
RewriteRule ^.*$ /user-y/project/www/index.php [NC,L]

RewriteCond %{THE_REQUEST} (user-z/project/www)
RewriteRule ^.*$ /user-z/project/www/index.php [NC,L]

「n」人のユーザーに対して機能する「動的」ルールに?

私はこれを念頭に置いていました:

RewriteRule ^/([a-z]+)/project/www/index.php$ /$1/project/www/index.php [NC,L]

残念ながら、RewriteRule の最初の引数には、正規表現との照合時にパス全体が含まれていません。

何か案は?

編集: .htaccess ファイルは「www」ディレクトリにあります。

4

1 に答える 1

1

%{THE_REQUEST}実際には URI ではなくリクエストであるに対して照合しようとしている理由がわかりません。ただし、次のように組み合わせることができます。

RewriteCond %{THE_REQUEST} (user-x|user-y|user-z)/project/www
RewriteRule ^ /%1/project/www/index.php [L]

しかし、%{THE_REQUEST}変数は実際には次のようになります。

GET /some/path/maybe/a/user-x/project/www/and/some/more/stuff HTTP/1.1

そして、上記の条件は上記の要求に一致します。それ以外の場合は、一致するワットをより具体的に指定できます。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(user-x|user-y|user-z)/project/www/?($|\ )
RewriteRule ^ /%1/project/www/index.php [L]
于 2013-04-23T17:46:03.350 に答える