繁体   English   中英

将www重定向到非www并将https重定向到http

[英]Redirect www to non www and https to http

我正在研究执行以下操作的最简单,最有效的方法:

  • 将www重定向到非www的用户和索引www的搜索引擎。
  • 将http(s)重定向到http,因为以前有一个SSL证书,现在该索引已在Google中建立索引,与此同时,我的网站实际上位于http上,并且SSL证书将在54天后过期。

是否有一种方法可以将两个脚本组合在一起?

我没有足够的经验来有效地做到这一点。

任何帮助都是巨大的帮助。

通常, 如果这仅涉及一个主机名, 那么您可以在一个步骤中完成这两个方面:

RewriteEngine On
RewriteCond %{HTTPS} on [OR]
RewriteCond %{HTTP_HOST} ^www
RewriteRule ^/?(.*)$ http://example.org/$1 [END,R=301,QSA]

对于更灵活的解决方案,例如,如果需要识别多个主机名,则需要使用两对独立的条件和规则。

对于旧的Apache http服务器,您可能需要用L标志替换END标志。 因此,如果以上情况导致“内部服务器错误”(http状态500),请尝试此操作。


上面的方法适用于.htaccess样式文件和实际的http主机配置。 但有一个一般性提示:您应该始终喜欢将此类规则放在http服务器主机配置中,而不要使用.htaccess样式文件。 众所周知,这些文件容易出错,难以调试,并且确实降低了服务器的速度。 仅当您无法控制主机配置(阅读:真正便宜的托管服务提供商)或您的应用程序依赖于编写自己的重写规则(这显然是安全噩梦)时,才提供它们作为最后的选择)。

阅读.htaccess

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} </IfModule>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM