这个问题建立在这个stackexchange-线程之上。
提到的线程的问题是如何编写一个正确的http到https和非www到www重定向,这是Google会赞成的。斯蒂芬给出了这个清晰的答案:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule (.*) https://www.example.com/$1 [L,R=301]然而,在实现此代码时,它会遇到所有子页面(例如example.com/xyz )的“页面没有正确地重定向”错误。代码似乎遗漏了一些东西来涵盖这些场景。
在谷歌的帮助下,我将Stephen的代码改为下面的代码,这似乎解决了子页面不重定向的问题(注:我只是将"(.*)“替换为"^”),但是我并不是这里的专家,而且老实说,我并不真正知道我在做什么。此外,这段新代码似乎确实引起了其他一些(对我来说似乎是随机的)重定向问题。
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com/$1 [L,R=301]TLDR /质询:如何修复上面的代码片段(S),以便https和www重定向将工作所有example.com的URL,包括它的所有子页面?
注意,我不得不创建一个单独的线程,因为我缺乏对Stephen的回答作出直接回应的声誉。
发布于 2021-05-27 07:59:50
这应该是可行的:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]https://webmasters.stackexchange.com/questions/134538
复制相似问题