php - www 不重定向到非 www .htaccess Wordpress

标签 php wordpress .htaccess ssl redirect

设置 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>

最佳答案

无论如何我都不是这方面的专家,但我看不到您尝试重定向的位置。这对我一直有效:

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

我总是把我的 .htaccess 放在最前面,但我是根据有限的经验说的 - 再次不是这里的专家。

希望这对您有所帮助!

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

关于php - www 不重定向到非 www .htaccess Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783081/

相关文章:

java - 从 php 调用外部 java 类

javascript - Ajax 响应文本的数据使用情况

php - 使用 PHP 使用 .sql 文件构建数据库

php - 在 WooCommerce 4+ 中添加发送电子邮件通知的新订单状态

php - 如何防止 PHP 使用 .htaccess 进行缓存

php - 检查是否不存在并使用 PHP 插入到一个查询中

php - 为每个 cron 作业设置 max_execution_time

php - 具有层次结构的 Woocommerce 产品属性,如类别

.htaccess - 内容安全策略 header - 升级不安全请求和报告事件

php - 在重写 .htaccess 时保留查询字符串