有没有办法将它结合起来:
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”目录中。
答案 0 :(得分: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]