Bry*_*ynJ 5 .htaccess mod-rewrite redirect http-status-code-301
我需要从mydomain.com或www.mydomain.com等主域重定向到sub.mydomain.com - 这需要适用于所有请求,所以mydomain.com/whatever转到sub.mydomain.com/whatever.
我试过这个,只适用于主域的非www:
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://sub.mydomain.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)
您也可以将它们压缩为一条规则:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^ http://sub.example.com%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
马克的观点/是一个重要的考虑因素。由于您正在定义规则.htaccess,因此输入(以及通过关联捕获的反向引用)不会以前导斜杠开头,因此在这种情况下您实际上确实需要一个显式斜杠(就像您所做的那样)。
因为无论如何我们只想要整个路径,所以%{REQUEST_URI}从这个意义上说 using 更可靠,因为它总是有一个前导斜杠,无论我们使用规则的上下文如何。
| 归档时间: |
|
| 查看次数: |
2287 次 |
| 最近记录: |