Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 .htaccess重定向/重写问题_Apache_.htaccess_Mod Rewrite_Url Rewriting_Rewrite - Fatal编程技术网

Apache .htaccess重定向/重写问题

Apache .htaccess重定向/重写问题,apache,.htaccess,mod-rewrite,url-rewriting,rewrite,Apache,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,我很难想出我该怎么做 我希望所有到www.mydomain.com/manager的请求重定向到m.mydomain.com 我正在努力: # Friendly URLs for the manager RewriteCond %{HTTP_HOST} ^(www.)?cloudcms.co$ RewriteRule ^manager/?$ http://m.cloudcms.co/ [NC,L,R] RewriteCond %{HTTP_HOST} ^(m.|manager.)?cloudc

我很难想出我该怎么做

我希望所有到www.mydomain.com/manager的请求重定向到m.mydomain.com

我正在努力:

# Friendly URLs for the manager
RewriteCond %{HTTP_HOST} ^(www.)?cloudcms.co$
RewriteRule ^manager/?$ http://m.cloudcms.co/ [NC,L,R]

RewriteCond %{HTTP_HOST} ^(m.|manager.)?cloudcms.co$
RewriteRule ^(/)?$ manager/ [L,QSA,NC]
然而,唯一真正正确重写的是第二个条件

我还尝试了以下方法

# Friendly URLs for the manager
RewriteCond %{HTTP_HOST} ^(www.)?cloudcms.co$
Redirect 301 /manager http://manager.cloudcms.co

RewriteCond %{HTTP_HOST} ^(m.|manager.)?cloudcms.co$
RewriteRule ^(/)?$ manager/ [L,QSA,NC]

但是它忽略了第二次重写

您可能不想使用p标志,这对您来说是反向代理。尝试将其替换为
R

RewriteRule ^manager/?$ http://m.mydomain.com/ [NC,L,R]

根据我上面的评论:


在/manager
文件夹中是否有另一个.htaccess,或者在present.htaccess中是否有其他.htaccess`

我怀疑OP在您的
文档根目录中有另一个
.htaccess
。尝试删除它,这个简单的重定向将开始工作

OP提问:

我如何才能为任何可能进入和关闭的域执行此操作
尝试点击/manager文件夹?

只需将第一个重定向规则更改为:

# if not already on mobile domain
RewriteCond %{HTTP_HOST} !^m\. [NC
RewriteRule ^manager/?$ http://m.cloudcms.co/ [NC,L,R=301]

哪个URL不适合你?最上面的那个。试图强制所有到www.mydomain.com/manager的请求重定向到m.mydomain.com您在那里有代理的
P
标志,因此它不会更改浏览器中的URL,但仍然会为您提供
m.mydomain.com
:)中的内容。仍然没有。在/manager`文件夹中是否有另一个.htaccess或当前的任何其他
.htaccess