【发布时间】:2019-12-04 04:19:47
【问题描述】:
这个问题已经在这个网站上被问过很多次了,我已经尝试了大部分,但对我没有任何帮助。
我有一个在 http://example.com/ 上运行良好的网站,但是当我将 rewritecond 和 rewriterule 应用到从 www(http://www.example.com/) 重定向到非 www(http://example.com/),它没有按预期工作。
我尝试了以下解决方案
RewriteEngine on
rewritecond %{http_host} ^www\.example\.com [nc]
rewriteCond %{SERVER_PORT} 80
rewriterule ^(.*)$ http://example.com/$1 [r=301,nc]
它在http://example.com/ 工作正常,但在http://www.example.com/ 显示以下错误
找不到服务器 IP 地址。 DNS_PROBE_FINISHED_NXDOMAIN
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)(.+)
RewriteRule .* http://%1/$0 [R,L]
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule .* http://%1/$0 [R,L]
它显示与上面相同的错误。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
RewriteCond %{HTTP} off
RewriteRule ^ http://example.com%{REQUEST_URI} [NE,R=301,L]
这表明错误
多个重定向
【问题讨论】:
标签: apache .htaccess url-rewriting