以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]