我尝试将所有请求从域重定向到子域,但/mypath
以下所有内容除外。示例:
example.com -> sub.example.com
example.com/somestuff -> sub.example.com
但
example.com/my-path
不应被重定向。
以下是负责该操作的配置部分:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/my-path/
RewriteRule ^/?(.*)$ "http\:\/\/sub\.example\.com" [R=301,L]
问题是我无法实现目标,而且我不知道这里出了什么问题。我试图找到一个例子来实现相同的目标,但没有成功。
答案1
/my-path/
仅当输入URI 时才匹配末尾的斜杠,而不是/my-path
使用
RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/my-path
RewriteRule ^/?(.*)$ "http\:\/\/sub\.example\.com" [R=301,L]
这样它就能计算/my-path/
出/my-path