apache - 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 文件?
谢谢。大约一个月前我又做了一张票,但我不知道如何更改问题,所以我为类似的票道歉。
解决方案
您的规则仅将non-www
http URL 重定向到您网站的 SSL 版本。要同时重定向non-www
和www
http 版本,请将您的第一个重写块替换为以下内容
RewriteCond ℅{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.mjvlaw\.co\.uk
RewriteRule (.*) https://www.mjvlaw.co.uk/$1 [R=301,L]
确保在测试之前清除浏览器缓存。
推荐阅读
- laravel - 如何在 laravel 资源中添加订单字段?
- docker - 构建 docker 环境从 Virtualbox 迁移,网络配置复杂
- tensorflow - TypeError:('关键字参数不理解:','掩码')
- pandas - 将错误值添加到 pandas Dataframe
- python-3.x - 需要解决方法来处理数据框中的时间戳并获取日期时间
- java - 无法在cmd Java中打开多类程序
- python - 根据特定值拆分整数列表
- android - 如何在单个 super() 中添加两个视图?
- wordpress - 静态文件未在 NGINX 的多站点 WordPress 上加载
- vulkan - 使用 vulkan 绘制调用之间的存储缓冲区同步