.htaccess 如何将子文件夹重定向到新域而不是根目录?
我正在使用以下代码将站点重定向到新域:.htaccess 如何将子文件夹重定向到新域而不是根目录?,.htaccess,.htaccess,我正在使用以下代码将站点重定向到新域: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !newdomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] 代码正在运行,但问题是我想重定向所有子文件夹,但不重定向根文件夹,例如: 我想重定向: olddomain.com/some-folder->newdomain.com/some-fold
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
代码正在运行,但问题是我想重定向所有子文件夹,但不重定向根文件夹,例如:
我想重定向:
olddomain.com/some-folder->newdomain.com/some-folder
但不是
olddomain.com->newdomain
我想用404将根目录重定向到newdomain.com
原因是newdomain.com已经存在了几年,我想关闭olddomain.com并将所有文章重定向到new one和根目录404
如果有人有更好的建议,现在就告诉我
谢谢您就快到了,但您的重写规则是匹配0个或多个字符(
*
),然后重写,您需要1个或多个字符(+
)。试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.+)$ http://www.newdomain.com/$1 [L,R=301]
记住,你的浏览器可能缓存了一些重定向;因此,如果您需要清除缓存或加载另一个浏览器来测试这一点,请不要感到惊讶。进行匹配,
^(.*)$
使用+而不是*可以告诉我如何处理olddomain吗?我应该用404将旧域重定向到新域还是其他什么?