我想在我的htaccess中使用以下规则将一个url转发到另一个url但它不起作用。有人能帮助我吗?
RewriteCond %{HTTP_HOST} ^(.*)mydomain\.com [NC]
RewriteRule /cms-page.html http://www.mydomain.com/second-cms-page.html [L,R=301]
以下规则正在运行,但它会转发整个域
RewriteCond %{HTTP_HOST} ^(.*)mydomain\.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/second-cms-page.html [L,R=301]
我无法使用“RedirectPermanent”,因为我无法指定主机。这是必要的,因为有多个域访问相同的htaccess
答案 0 :(得分:0)
从正则表达式中删除前导斜杠:
RewriteCond %{HTTP_HOST} mydomain\.com [NC]
RewriteRule ^cms-page\.html$ http://www.mydomain.com/second-cms-page.html [L,R=301,NC]
.htaccess
是每个目录指令,Apache从RewriteRule
URI模式中剥离当前目录路径(从而导致斜杠)。