[英]Redirect www to non www and https to http
我正在研究执行以下操作的最简单,最有效的方法:
是否有一种方法可以将两个脚本组合在一起?
我没有足够的经验来有效地做到这一点。
任何帮助都是巨大的帮助。
通常, 如果这仅涉及一个主机名, 那么您可以在一个步骤中完成这两个方面:
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.