.htaccess教學:有什麼用?如何編輯?(3個常見語法)

.htaccess seo

.htaccess 是一種用於 Apache 網頁伺服器的配置檔案,它可以用來設定伺服器的行為。

.htaccess 檔案可以用來實現非常多的功能,包括 URL 轉址、封鎖特定 IP 地址、禁止目錄列表等。編輯.htaccess需要一定的經驗和技能,在進行任何更改之前,請務必先進行備份。

.htaccess 是什麼?

.htaccess是一個在Apache伺服器軟件下的設定檔,它能夠設定、控制其路徑下的檔案、資料夾和子目錄。

.htaccess 檔案位置在哪裡?

.htaccess 檔案通常位於根目錄(public_html 或 www)資料夾中。

需要注意的是,.htaccess只會出現在Apache的伺服器下,若使用Nginx的伺服器,是不會有這個檔案的,取而代之的是nginx.conf檔案。

.htaccess 影響SEO

.htaccess 可歸類於技術SEO中,不直接影響SEO,但錯誤設定可能會封鎖部份IP段或網絡爬蟲,使搜尋引擎無法順利檢索網站,自然無法收錄並自然在SERP中。

所以,要確保 .htaccess 設定準確。

如何編輯 .htaccess 檔案?

.htaccess是一個純文字檔案,你可以使用任何記事本軟件(.txt)開啟並編輯它,Windows自帶的記事本軟件或Notepad++都可以。

提示:在編輯 .htaccess 檔案之前,記得要先複製一個作備份,以免編輯錯誤造成伺服器存取異常。若出現異常,可刪除錯誤檔,建立一份txt檔案並命名為.htaccess,並上傳到伺服器目錄。

.htaccess常見語法

.htaccess有不少常見語法可分享,包括:禁止特定IP、限制目錄存取、防止圖片盜鏈、轉址等等。

伺服器層面語法

伺服器層面語法有3種:

禁止特定IP

Order allow,deny

Deny from 111.22.33.4

Deny from 112.23.4

Allow from all

上述語法能禁止111.22.33.4及112.23.4 的IP地址開頭的用戶存取。

限制目錄存取


# disable directory browsing Options All -Indexes

上述語法能防止有心人士存取伺服器目錄的檔案。

防止圖片盜鏈

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ https://i.imgur.com/g7ptdBB.png [NC,R,L]

把”example.com” 改成你的域名;” https://i.imgur.com/g7ptdBB.png” 改成你想展示的圖的連結。

有些人網絡上搜到你的圖,直接盜鏈展示。這樣先不算圖片版權,還要用被佔用流量,被賣還要幫人數錢。上述語法能限制其他人盜鏈,圖片不在你的域名展示是會被取代做另一張無法存取的圖。

注意:這類代碼必需慎用,否則可能使網站無法展示圖片。個人就不啟用了; WordPress配jetpack插件有image CDN,也不怕了。

轉址

轉址有301或302,文章合併或修改後,可以用301轉到新連結。使用Wordpress的話可使用Rankmath(SEO插件)或Prettylink(縮網址)這類插件取代,就不需要搞代碼了。

301/302

Redirect 301 /oldpage.html https://www.example.com/newpage.html

301語法是告知搜尋引擎永久轉址,302則是暫時轉址。

上述”301” 可以換成”302”

“/oldpage.html” 換成你的舊頁面

” https://www.example.com/newpage.html” 換成你的新頁面連結。

強制 HTTPS

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

提示:若是Wordpress用家,不熟使用.htaccess代碼,建議選用 Really Simple SSL 的Wordpress插件,安裝SSL後一鍵轉換http到https,非常方便。

WordPress 安全性

目前WordPress用戶越來越多,使用WordPress 需要更注重安全性,利用 .htaccess 可提高安全性。如果不熟識語法,可考慮使用iThemes、All-In-One Security或Wordfence Security。

保護 .htaccess 檔案

<files ~ "^.*\.([Hh][Tt][Aa])">

order allow,deny

deny from all

satisfy all

</files>

只能使用ftp修改 .htaccess檔案。

保護 wp-config.php 檔案

<files wp-config.php>

order allow,deny

deny from all

</files>

WordPress 速度

如果不熟識語法,可考慮使用WP-Rocket這類Cache插件加速頁面。小心使用以下語法,誤用有可能使網站無法順利存取。

啟用瀏覽器暫存檔


<IfModule mod_expires.c>

ExpiresActive on

ExpiresDefault                                    "access plus 1 month"

# CSS

ExpiresByType text/css                            "access plus 1 year"

# Data interchange

ExpiresByType application/json                    "access plus 0 seconds"

ExpiresByType application/xml "access plus 0 seconds"

ExpiresByType text/xml "access plus 0 seconds"

# Favicon (cannot be renamed!)

ExpiresByType image/x-icon "access plus 1 week"

# HTML components (HTCs)

ExpiresByType text/x-component "access plus 1 month"

# HTML

ExpiresByType text/html "access plus 0 seconds"

# JavaScript

ExpiresByType application/javascript "access plus 1 year"

# Manifest files

ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"

ExpiresByType text/cache-manifest "access plus 0 seconds"

# Media

ExpiresByType audio/ogg "access plus 1 month"

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/jpeg                          "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType video/mp4 "access plus 1 month"

ExpiresByType video/ogg "access plus 1 month"

ExpiresByType video/webm "access plus 1 month"

# Web feeds

ExpiresByType application/atom+xml "access plus 1 hour"

ExpiresByType application/rss+xml "access plus 1 hour"

# Web fonts

ExpiresByType application/font-woff2 "access plus 1 month"

ExpiresByType application/font-woff "access plus 1 month"

ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType application/x-font-ttf "access plus 1 month"

ExpiresByType font/opentype "access plus 1 month"

ExpiresByType image/svg+xml "access plus 1 month"

</IfModule>

啟用Gzip壓縮


<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
WhatsApp
Facebook
相關文章:
TOC