我发现很多关于使用htaccess进行重定向的问题。 然而,似乎没有人和我有同样的“问题”。
我想要的是重定向,如果访问目录,它应该重定向到子域。到目前为止它的优点和工作。但是,我不想在更改域名时一直更改我的htaccess。
所以我有:
RedirectMatch 301 ^/subdir/(.*)$ http://subdir.example.com/$1
但在我的情况下,我将我的应用程序放在域example2.com上,我必须更改名称。 是否有可能有这样的事情:
RedirectMatch 301 ^**(capture_hostname)**/subdir/(.*)$ http://subdir.**(put_hostname_here)**/$1
所有“解决方案”似乎都适用于在htaccess中定义域名。 我用htaccess来解决这个问题的工作还不够。因此,我们在一起:))
答案 0 :(得分:1)
您可以使用mod_rewrite
规则执行该操作并从RewriteCond
捕获主机名:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^(subdir)(/.*)?$ http://$1.%1$2 [L,NC,R=301,NE]
%1
是从RewriteCond
指令捕获的值,$1
是subdir
而$2
是subdir/