【问题标题】:www not redirecting to non-www .htaccess Wordpresswww 不重定向到非 www .htaccess Wordpress
【发布时间】:2018-05-26 18:08:41
【问题描述】:

设置 SSL 后我的 www 没有重定向到非 www 有问题,我无法弄清楚,已经设置了太多规则,所以 IDK 是什么让我搞砸了。

任何帮助将不胜感激!

这是我认为存在问题的 .htaccess 配置的当前部分:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}.html%{ENV:WPR_ENC}" -f
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}.html%{ENV:WPR_ENC}" [L]
</IfModule>



<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . /index.php [L]
# Rewrite HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>

【问题讨论】:

标签: php wordpress .htaccess ssl redirect


【解决方案1】:

无论如何我都不是这方面的专家,但我看不出你在哪里尝试重定向。这一直对我有用:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.[YOURDOMAIN]\.com [NC]
RewriteRule ^(.*)$ http://[YOURDOMAIN].com/$1 [L,R=301]

我一直将 .htaccess 放在首位,但我是从有限的经验谈起 - 再次不是专家。

希望这会有所帮助!

编辑:虽然我认为这对你有用,但我不确定这是否是最佳做法。在对您的网站进行更改之前,我建议您等待其他知识渊博的人回答。我也会关注这个问题,寻找其他答案。

【讨论】:

    【解决方案2】:

    另外,您在 Settings -> General 中设置的 WordPress 地址和站点地址是什么?如果您在那里使用您喜欢的非 www 版本,根据我的经验,这应该会解决它。

    【讨论】:

    • 设置为 https 不带 www。它是灰色的,所以我认为它被我的一个插件接管了。我正在使用 WPRocket 和真正简单的 SSL。
    • 我会尝试禁用这些插件,看看没有它们是否能更好地工作
    猜你喜欢
    • 2018-11-12
    • 2011-04-12
    • 2015-12-31
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2019-01-29
    • 2014-07-26
    相关资源
    最近更新 更多