.htaccess - 修改 .htaccess SSL 重定向以处理 www 和无子域的最佳方法
问题描述
有什么方法可以修改这个工作,.htaccess
使用一些聪明的正则表达式来处理多个子域的重定向。
理想情况下,我希望能够在没有前面joshmoto.wtf
的情况下使用我的域。www
是否可以使当前.htaccess
功能如下所示?
如果您访问...
请参阅下面的当前.htaccess
始终将http://joshmoto.wtf重定向到https://www.joshmoto.wtf
<IfModule mod_rewrite.c>
# Force SSL access
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.joshmoto\.wtf [NC]
RewriteRule ^/?(.*) https://www.joshmoto.wtf/$1 [L,R,NE]
</IfModule>
任何专家的正则表达式帮助将不胜感激。
非常感谢
解决方案
试试这样:
RewriteEngine On
RewriteBase /
# Redirect HTTP with www to HTTPS without www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.joshmoto\.wtf$ [NC]
RewriteRule .* https://joshmoto.wtf%{REQUEST_URI} [R=301,L]
# Redirect HTTP without www to HTTPS without www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Redirect HTTPS with www to HTTPS without www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.joshmoto\.wtf$ [NC]
RewriteRule .* https://joshmoto.wtf%{REQUEST_URI} [R=301,L]
推荐阅读
- c# - Azure 监视器管理客户端 .net
- c# - 如何通过参数对象进行搜索
- java - 如何确保每个线程都在同一个对象上工作?
- spring - 为什么 spring data jpa repository.save 在同一个实体上一个接一个地执行插入和更新?
- extjs - Extjs Ext.form.field.Tag,resize 事件未触发
- javascript - 使用超时交换 DOM 元素
- react-native - React Native Fingerprint Scanner 花费太多时间进行身份验证
- c# - 如何使用 delegates/lambdas/Func<> 摆脱代码重用?
- sql-server - 在 DataGrip 中使用 SQL Server 代理
- c# - 按项目的子部分对字符串列表进行分组