Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
Apache 第二次重写永远不会执行_Apache_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache 第二次重写永远不会执行

Apache 第二次重写永远不会执行,apache,mod-rewrite,url-rewriting,Apache,Mod Rewrite,Url Rewriting,我要重写一下 RewriteCond %{THE_REQUEST} /(?:user_profile)?\?user_id=([^\s&]+)\sHTTP [NC] RewriteRule ^ /%1? [L,R] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/?$ /user_profile?user_id=$1 [L] 它正确地允许我使用域/用

我要重写一下

RewriteCond %{THE_REQUEST} /(?:user_profile)?\?user_id=([^\s&]+)\sHTTP [NC]
RewriteRule ^ /%1? [L,R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /user_profile?user_id=$1 [L]
它正确地允许我使用域/用户名作为url

但当我再添加一条类似的重写规则时,第二条规则与上面的规则不同

RewriteCond %{THE_REQUEST} /(?:group)?\?group_id=([^\s&]+)\sHTTP [NC]
RewriteRule ^ /%1? [L,R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^group/([^/]+)/?$ /group?group_id=$1 [L]

有人能帮我重新连接第二个返回的域名/组/组名,同时保持第一个域名/用户名的工作状态。

您有两个问题。第一个问题是,在重定向请求时,希望保留
组/
前缀

RewriteCond %{THE_REQUEST} /(?:group)?\?group_id=([^\s&]+)\sHTTP [NC]
RewriteRule ^ /group/%1? [L,R]
第二个问题是,在第一次重写通过后,您将
/group/groupname
重写为
/group?group\u id=groupname
。这将使
/group
与用户名规则匹配。要防止此前缀匹配:

RewriteCond %{REQUEST_URI} !^/group
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /user_profile?user_id=$1 [L]

你有两个问题。第一个问题是,在重定向请求时,希望保留
组/
前缀

RewriteCond %{THE_REQUEST} /(?:group)?\?group_id=([^\s&]+)\sHTTP [NC]
RewriteRule ^ /group/%1? [L,R]
第二个问题是,在第一次重写通过后,您将
/group/groupname
重写为
/group?group\u id=groupname
。这将使
/group
与用户名规则匹配。要防止此前缀匹配:

RewriteCond %{REQUEST_URI} !^/group
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /user_profile?user_id=$1 [L]