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

并且上述条件将符合上述要求。否则,您可以更具体地了解要匹配的 wat:

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 回答