【问题标题】:URL Rewriting http > https AND domain.tld > www.domain.tldURL 重写 http > https AND domain.tld > www.domain.tld
【发布时间】:2019-04-11 10:40:31
【问题描述】:

我想重写并将我的http:\\www.domain.tld 重定向到https:\\www.domain.tld

我想重写我的domain.tld 并将其重定向到www.domain.tld

我想要一些重定向的东西,并且考虑到 seo,表明这是一个重定向。

现在我有这样的东西:

1)

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]

2)

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]

什么是最好的?有什么问题吗?

谢谢

【问题讨论】:

  • 每周都会回答有关此问题的问题,请进行研究,那里有许多详细的工作配置。
  • :-/ 对不起,但我没有找到这个例子(带有 www),我很难应用我发现的其他例子......所以我只想知道我的建议是否正确。

标签: apache url https url-rewriting


【解决方案1】:

Apache 文档建议不要使用重写:redirect to https

要将 http URL 重定向到 https,您应该执行以下操作:

<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here

这个 sn-p 应该进入主服务器配置文件,进入问题中所要求的 .htaccess。

但如果您无权访问主服务器配置文件,您可以使用此:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

第 1 行:如果 url 开头没有 www

第 2 行:如果没有 https

第 3 行:将此域中的所有 url 重写为以 https 开头并具有 www 的 URL

【讨论】:

  • 看起来不错,我下午试试。感谢您花时间回答我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 2015-02-14
  • 2014-07-18
  • 2014-09-20
  • 2011-06-02
相关资源
最近更新 更多