.htaccess 重定向代码重定向到未找到的自定义 404,而不是将 www 定向到非 www 版本
.htaccess redirect code redirects to custom 404 not found instead of directing for www to non-www version
我正在使用这个重定向代码
# Redirect www urls to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC]
RewriteRule (.*) http://8mags.com/ [R=301,L]
这会将我重定向到我创建的自定义 404 页面。这是我从 http://htaccess.madewithlove.be/
获得的一些额外信息
0 # Redirect www urls to non-www
1 RewriteEngine on
2 RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC] This condition was met
3 RewriteRule (.*) http://8mags.com/ [R=301,L] This rule was met, the new url is http://8mags.com/ The tests are stopped, using a different host will cause a redirect
我不明白最后一行是什么意思以及如何更正问题?
我 运行 对你的 URL http://www.8mags.com/lessons/
进行了快速测试,它被重定向到:
http://8mags.com/8mags/lessons/
而不是 http://8mags.com/lessons/
。这意味着您在 /8mags/
子目录而不是 DocuemtnRoot
.
中保留了上述规则
如果 /8mags/
是您的 DocumentRoot
.
,则将上述规则移动到父目录
您也可以使用 %{REQUEST_URI}
:
修复它
# Redirect www urls to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC]
RewriteRule ^ http://8mags.com%{REQUEST_URI} [R=301,L,NE]
我正在使用这个重定向代码
# Redirect www urls to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC]
RewriteRule (.*) http://8mags.com/ [R=301,L]
这会将我重定向到我创建的自定义 404 页面。这是我从 http://htaccess.madewithlove.be/
获得的一些额外信息0 # Redirect www urls to non-www
1 RewriteEngine on
2 RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC] This condition was met
3 RewriteRule (.*) http://8mags.com/ [R=301,L] This rule was met, the new url is http://8mags.com/ The tests are stopped, using a different host will cause a redirect
我不明白最后一行是什么意思以及如何更正问题?
我 运行 对你的 URL http://www.8mags.com/lessons/
进行了快速测试,它被重定向到:
http://8mags.com/8mags/lessons/
而不是 http://8mags.com/lessons/
。这意味着您在 /8mags/
子目录而不是 DocuemtnRoot
.
如果 /8mags/
是您的 DocumentRoot
.
您也可以使用 %{REQUEST_URI}
:
# Redirect www urls to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.8mags\.com [NC]
RewriteRule ^ http://8mags.com%{REQUEST_URI} [R=301,L,NE]