首页 > 解决方案 > 301 问题与同一网站空间上的 2 个 URL

问题描述

我有 2 个域,旧域是 mjvandco.co.uk,他希望这个重定向到 mjvlaw.co.uk。我都指向同一个网络空间,但是当我使用https://httpstatus.io/测试 URL 时,我得到了不同的结果。

我的 htaccess 中有以下内容以及其他内容,但这是重定向内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mjvlaw\.co\.uk 
RewriteRule (.*) https://www.mjvlaw.co.uk/$1 [R=301,L]


# Remove .html (excluding blog)
RewriteCond %{REQUEST_URI} !^/blog(.*)$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

现在唯一不正确的 URL 是这个:http ://www.mjvlaw.co.uk/ 。我用过这个网站

https://mjvlaw.co.uk - 转到https://www.mjvlaw.co.uk
http://mjvlaw.co.uk - 转到https://www.mjvlaw.co.uk
http:// www.mjvlaw.co.uk - 不工作,因为不去
https://www.mjvlaw.co.uk - 很好

但是,当我对旧域做同样的事情时,它一切正常,下面的每一个也去https://www.mjvlaw.co.uk
https://www.mjvandco.co.uk
https://mjvandco.co.uk
http://mjvandco.co.uk
http://www.mjvandco.co.uk

我在这里做傻事吗?我是否应该创建另一个网站空间并为旧域创建一个文件夹,以及当前域的文件夹是什么,并且每个文件夹都有自己的 htaccess 文件?
谢谢。大约一个月前我又做了一张票,但我不知道如何更改问题,所以我为类似的票道歉。

标签: apache.htaccessredirect

解决方案


您的规则仅将non-wwwhttp URL 重定向到您网站的 SSL 版本。要同时重定向non-wwwwwwhttp 版本,请将您的第一个重写块替换为以下内容

RewriteCond ℅{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.mjvlaw\.co\.uk 
RewriteRule (.*) https://www.mjvlaw.co.uk/$1 [R=301,L]

确保在测试之前清除浏览器缓存。


推荐阅读