[英]htaccess why is site redirecting to //
在我的htaccess中,我将所有非https重定向到https。 它可以工作,但还会添加一个额外的“ /”,因此该URL为“ https://www.[MY SITE URL] .co.uk //”
为什么是这样? 老实说,我真的不知道htaccess中的所有操作是什么,它从谷歌搜索答案复制到“将所有请求重定向到https”
我的htaccess:
Options -MultiViews
RewriteEngine On # Turn on the rewriting engine
RewriteBase /
#RewriteCond %{HTTP_HOST} ^(www\.)?jobooz\.com [NC]
#RewriteRule ^(.*)$ https://www.jobooz.co.uk/$1 [R=301,L,NC]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/$1
RewriteRule ^/?$ /php/index.php [NC,L] # Home page
我还注意到我添加到网址中的任何更深层的网址,例如“ / search-jobs / jobs-near-me”,然后也被复制到“ / search-jobs / jobs-near-me / search-jobs / jobs”中-near-me”重定向到https时。
如果我直接转到https版本,则所有URL都可以正常工作。
任何帮助表示赞赏,谢谢。
以下重写规则有问题:
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]
为什么您会在重写的URL中看到重复的片段的要点是(.*)
匹配所有内容,并且已经包含主机和URI。 相反,您可以尝试将端口80上的任何传入请求重定向到HTTPS。
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.