我正在尝试将访问重定向到https://www.domain.co.uk到http://www.domain.co.uk。我研究了这个,但已经走到了尽头。
很多人,包括这里的人,建议使用:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
这是我的整个.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我尝试将https重写代码放在<IfModule mod_rewrite.c>
上方,下方和内部。但没有运气。
我知道正在读取.htaccess,因为我可以在使用随机字母时返回500内部服务器错误。
感谢您的帮助。
修改
Anubhava发现我的服务器没有侦听端口443,因为我的VirtualHost没有输入。
这是我的httpd.conf
的那一部分
答案 0 :(得分:0)
如果是WP,则在permalink settings change
您网站的http://domain.com
网址中显示https://domain.com
。如果你使用不同的URL,WP会强制使用该网址。
你的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>