以hostinger主机商为例:
先通过这个地址学习找到文件位置:Hostinger、Bluehost控制面板Cpanel-文件管理位置
在根目录下找到htaccess文件,如下图:
双击进来会出现这样的界面:
然后在这些代码里,直接进行编辑,是的,可以直接编辑。
在RewriteEngine On 下一行添加3行内容,内容如下:
# 添加以下规则:将带www的主域名301重定向到不带www的主域名
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
全部修改后,内容如下:
# BEGIN LSCACHE
# END LSCACHE
# BEGIN NON_LSCACHE
# END NON_LSCACHE
# BEGIN WordPress
# 在「BEGIN WordPress」与「END WordPress」之间的指令(行)是
# 动态生成的,只应被 WordPress 过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
# 添加以下规则:将带www的主域名301重定向到不带www的主域名
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
粘贴之后,点击右上角有一个保存的按钮。
点击保存。然后,重新访问下地址栏里的链接,看内容是否更新成功。如下图
如果成功了,则访问你带www的域名,会自动301到不带www上。(当然,首先需要带www和不带www的域名做好解析)
如果希望把不带www的域名301给带www带域名,则把以上添加的代码修改成这样:
# 添加以下规则:将不带www的主域名301重定向到带www的主域名 RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L]