gpt4 book ai didi

apache - htaccess 使用子域和 https 重定向

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:24 25 4
gpt4 key购买 nike

我正在使用托管两个域(均使用 SSL)的 HostGator 帐户。我还在这两个上设置了不使用 SSL 的子域。我设置了重定向,以便 http 将重定向到 https,但我在使用子域时遇到问题。

这是我需要它做的:

http://site1.com -> https://site1.com

http://www.site1.com -> https://site1.com

dev.site1.com -> 无重定向

http://site2.com -> https://site2.com

http://www.site2.com -> https://site2.com

dev.site2.com -> 无重定向

现在发生的事情是,当我访问 dev.site2.com(无论我是否输入 https)时,我看到的是 https://site1.com ,虽然它似乎没有重定向,因为地址栏仍然显示 dev.site2.com

这是我在 htaccess 中的内容:

RewriteEngine On
RewriteBase /~hostgatorusername/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteCond %{HTTP_HOST} !=dev.*
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]


# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /~hostgatorusername/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~hostgatorusername/index.php [L]
</IfModule>

# END WordPress

我仍在尝试完全掌握 htaccess,所以如果有人能帮助我理解我做错了什么,我会很高兴。谢谢!

更新:我还需要 https://www.site1.com重定向到 https://site1.comhttps://www.site2.com重定向到 https://site2.com

最佳答案

试试这段代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /~hostgatorusername/

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^dev\. [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule .* https://%1%{REQUEST_URI} [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~hostgatorusername/index.php [L]
</IfModule>

# END WordPress

关于apache - htaccess 使用子域和 https 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20983809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com