a) 这是否可行,以及b)此代码是否是一种可接受的方式?
对
但是您应该将自定义指令Redirect
线路)above the BEGIN
marker, i、 e.the# BEGIN WordPress
行,因为如果不是,则在刷新/重新生成WordPress重写规则时,自定义指令将消失。
因此:
# your code here:
Redirect 301 /foo https://foo.example.com
# BEGIN WordPress
RewriteEngine On
# ... WordPress rewrite rules here.
# END WordPress
但是如果子域位于主域的文档根目录中(
example.com
), 那么您应该使用以下方法
foo.example.com/foo
从重定向到
foo.example
:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^foo/?$ https://foo.example.com/ [L,R=301,NC,QSA]
# BEGIN WordPress
RewriteEngine On
# ... WordPress rewrite rules here.
# END WordPress
如果你想重定向
example.com/foo
, e、 g。
example.com/foo/some-file
到
foo.example.com/some-file
, 然后你可以改变上面的内容
RewriteRule
行到:(即,您基本上只需要使用重写规则的正则表达式。)
RewriteRule ^f(/(.*))?$ https://foo.example.com/$2 [L,R=301,NC,QSA]