Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess中的动态重写规则_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess中的动态重写规则

.htaccess中的动态重写规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,有没有一种方法可以将这两者结合起来: 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

有没有一种方法可以将这两者结合起来:

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”目录中。

不确定为什么要尝试匹配
%{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]

不确定为什么要尝试匹配
%{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]

如果它位于
www
dir,那么每个用户都有一个.htaccess文件?是的,但它是从svn repo签出的。我希望在repo中使用htaccess文件,因为其中也有用于登台和生产环境的配置。只需将此部分替换为
^/([a-z]+)/
,然后看看会发生什么。如果它位于
www
目录,那么每个用户都有一个.htaccess文件?是的,但这是从svn repo签出的。我希望在repo中使用htaccess文件,因为其中也有用于登台和生产环境的配置。只需将此部分替换为
^/([a-z]+)/
,然后看看会发生什么。这正是我所需要的!感谢我所需要的!谢谢