新聞中心

您的wordpress站點(diǎn)的.htaccess文件是web服務(wù)器apache使用的基本配置文件。但很多服務(wù)器使用的Web服務(wù)器是Nginx而不是Apache,您實(shí)際上不會(huì)擁有.htaccess文件。
但是,如果您在其他地方托管站點(diǎn),了解.htaccess文件很重要,這也是您經(jīng)常在WordPress教程中看到的主題。
在本文中,您將詳細(xì)了解WordPress站點(diǎn).htacces 文件是什么以及它可以讓您做什么。
- .htaccess更詳細(xì)的解釋
- 不使用.htaccess站點(diǎn)服務(wù)器:您如何進(jìn)行更改?
什么是WordPress站點(diǎn).htaccess文件?
.htaccess文件是Web服務(wù)器Apache使用的基本配置文件,可讓您創(chuàng)建告訴Web服務(wù)器如何運(yùn)行的特殊規(guī)則。它位于根文件夾中。
默認(rèn)情況下,您的WordPress站點(diǎn)使用.htaccess文件來控制站點(diǎn)的永久鏈接結(jié)構(gòu),但許多插件也將.htaccess文件用于其他目的,例如:
- 添加特殊規(guī)則以更有效地提供緩存內(nèi)容。
- 設(shè)置自動(dòng)重定向
- 將HTTP重定向到HTTPS
- 基于IP地址禁止/限制訪問
- 增加最大上傳大小
什么是.htaccess?更詳細(xì)的解釋
回顧一下,.htaccess是Web服務(wù)器Apache使用的配置文件,它是大多數(shù)預(yù)算共享主機(jī)使用的Web服務(wù)器。作為一個(gè)基本的配置文件,它允許您創(chuàng)建特殊的規(guī)則來告訴您的Web服務(wù)器如何運(yùn)行。
默認(rèn)情況下,您的WordPress站點(diǎn)使用.htaccess文件來控制站點(diǎn)的固定鏈接結(jié)構(gòu)。許多WordPress插件也使用.htaccess文件。例如,如果您有一個(gè)緩存插件,它可能會(huì)向您的.htaccess文件添加自己的特殊規(guī)則,以更有效地提供緩存內(nèi)容。
除此之外,您還可以將自己的代碼片段添加到您網(wǎng)站的 .htaccess 文件中,這樣您就可以執(zhí)行以下操作:
-
- 重定向– 您可以在臨時(shí)(如307)或永久的基礎(chǔ)上設(shè)置自動(dòng)重定向。例如,如果您更改網(wǎng)站的URL,您需要設(shè)置301重定向以確保不會(huì)損害您的流量或SEO。或者,如果您最近安裝了SSL證書,則可以將HTTP重定向到HTTPS。
- 安全性– 您可以限制訪問您的全部或部分站點(diǎn)以提高WordPress安全性。例如,您可以將其設(shè)置為只有某些列入白名單的IP地址(例如您的IP地址)才能訪問您站點(diǎn)的管理區(qū)域?;蛘?,您也可以禁止整個(gè)站點(diǎn)中的特定IP地址。
- 其他配置調(diào)整– 您可以調(diào)整服務(wù)器的運(yùn)行方式。例如,您可以增加最大上傳大小來修復(fù)“uploaded file exceeds the upload_max_filesize directive in php.ini”錯(cuò)誤。
如何在WordPress中找到.htaccess文件
如果您使用的Web服務(wù)器是Apache,則可以通過FTP或cPanel文件管理器連接到站點(diǎn)的服務(wù)器來定位和編輯站點(diǎn)的.htaccess文件。
連接到服務(wù)器并能夠?yàn)g覽站點(diǎn)文件后,您可以在站點(diǎn)的根文件夾中找到WordPress站點(diǎn)的.htaccess文件,該文件夾與包含wp-config.php文件和wp-admin和wp-content文件夾:
WordPress站點(diǎn)的.htaccess文件所在的位置
默認(rèn)情況下,您的站點(diǎn)將只有一個(gè).htaccess文件——位于根文件夾中的文件。
但是,可以在單獨(dú)的目錄中使用多個(gè).htaccess文件,盡管WordPress在其默認(rèn)狀態(tài)下不會(huì)這樣做。
.htaccess文件適用于它所在的目錄以及所有子目錄,因此您可以將.htaccess文件添加到子目錄以添加僅適用于該目錄(及其任何子目錄)的規(guī)則目錄)。然而,通常只使用一個(gè).htaccess文件并將所有規(guī)則保留在那里更簡(jiǎn)單。
WordPress站點(diǎn).htaccess文件示例
默認(rèn)情況下,您的WordPress站點(diǎn)的.htaccess文件僅包含一個(gè)控制站點(diǎn)固定鏈接功能的規(guī)則。這是它應(yīng)該是什么樣子的示例:
WordPress站點(diǎn)默認(rèn).htaccess文件的示例
如何將您自己的規(guī)則添加到.htaccess
確保在進(jìn)行任何編輯之前備份您網(wǎng)站的.htaccess文件,因?yàn)榧词故且粋€(gè)小錯(cuò)誤也可能使您的WordPress網(wǎng)站無法訪問。
要添加您自己的.htaccess 規(guī)則,您需要在現(xiàn)有WordPress站點(diǎn).htaccess規(guī)則的上方或下方添加相關(guān)代碼片段。
我們將分享一些您可以做什么的示例,但免費(fèi)的 .htaccess生成器站點(diǎn)提供了一個(gè)非常方便的工具來生成執(zhí)行各種不同操作所需的代碼片段。
將所有流量重定向到您網(wǎng)站的HTTPS版本
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
阻止IP地址
//Block users by IP order allow,deny deny from 192.168.1.1 allow from
添加密碼以訪問您網(wǎng)站的一部分
//Password Protect fileAuthName "Prompt" AuthType Basic AuthUserFile /wp-admin Require valid-user
您還需要添加一個(gè)單獨(dú)的.htpasswd文件。
這是添加一些自己的規(guī)則后 .htaccess 文件的外觀示例……
帶有自定義規(guī)則的WordPress站點(diǎn).htaccess文件示例
不使用.htaccess站點(diǎn)服務(wù)器:您如何進(jìn)行更改?
正如我們?cè)谏厦娓嬖V您的,閃電博網(wǎng)站使用Web服務(wù)器是Nginx,而不是Apache。這類Web服務(wù)器意味著任何WordPress網(wǎng)站都沒有可用的.htaccess文件。
然而,這并不意味著您在重定向、安全規(guī)則等方面仍然不能執(zhí)行類似的操作。 .htaccess文件中的設(shè)置和規(guī)則可以輕松地“轉(zhuǎn)換”為Nginx自己的重寫規(guī)則語(yǔ)法。
使用Nginx服務(wù)器,同樣可以擁有許多重要的 .htaccess 功能。對(duì)于其他規(guī)則,Nginx還提供了自己的配置文件,您可以在其中類似地設(shè)置規(guī)則,盡管語(yǔ)法不同。
設(shè)置重定向
比如Nginx服務(wù)器HTTP流量重定向至HTTPS的規(guī)則如下:
server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri; }
阻止特定IP地址
要阻止特定IP地址或者IP段訪問您的站點(diǎn),您在站點(diǎn)Nginx配置文件添加以下規(guī)則:
###允許某個(gè)ip訪問 allow 192.168.0.1; ###拒絕某個(gè)ip訪問 deny 192.168.0.2; ###拒絕123.0.0.1~123.255.255.254這個(gè)段的ip deny 123.0.0.0/8; ###拒絕123.1.0.1~123.1.255.254這個(gè)段的ip deny 123.1.0.0/16; ###拒絕123.1.1.1~123.1.1.254這個(gè)段的ip deny 123.1.1.0/24; ###allow跟deny配置相同,如果需要開放某個(gè)IP段,只需要把上面的deny改成allow
密碼保護(hù)您的網(wǎng)站
要鎖定整個(gè)站點(diǎn),通過Nginx的配置規(guī)則來實(shí)現(xiàn):
htpasswd是Apache密碼生成工具,Nginx支持auth_basic認(rèn)證,因此我門可以將生成的密碼用于Nginx中,輸入一行命令即可安裝:yum -y install httpd-tools ,參數(shù)如下:
-c 創(chuàng)建passwdfile.如果passwdfile 已經(jīng)存在,那么它會(huì)重新寫入并刪去原有內(nèi)容. -n 不更新passwordfile,直接顯示密碼 -m 使用MD5加密(默認(rèn)) -d 使用CRYPT加密(默認(rèn)) -p 使用普通文本格式的密碼 -s 使用SHA加密 -b 命令行中一并輸入用戶名和密碼而不是根據(jù)提示輸入密碼,可以看見明文,不需要交互 -D 刪除指定的用戶
生成密碼
接下來在Nginx配置文件中(通常是server段內(nèi)),加入如下兩行,并重載Nginx(service nginx reload)即可生效。
auth_basic "Please input password"; #這里是驗(yàn)證時(shí)的提示信息 auth_basic_user_file /home/passwd;
問題解決
如果開啟auth_basic認(rèn)證后出現(xiàn)500錯(cuò)誤,注意:
- passwd改成nginx對(duì)應(yīng)用戶權(quán)限,比如您nginx配置的www用戶來運(yùn)行:
chown www:www /home/passwd - 不要放到
/root之類得目錄下,請(qǐng)嘗試移動(dòng)到其它公共目錄
再訪問站點(diǎn),提示需要輸入用戶名和密碼才可以訪問,此方法適合不宜公開的站點(diǎn),比如PHPmyadmin,這樣可避免被弱口令掃描,無疑再上了一把鎖。
小結(jié)
WordPress站點(diǎn)的.htaccess文件是Web服務(wù)器Apache使用的基本配置文件。雖然您可以將其用于各種用途,但WordPress用戶想要使用的最常見功能是:
- 重定向
- IP地址黑名單/白名單
- 密碼保護(hù)文件夾
- 等等。
現(xiàn)在大部分自建的服務(wù)器使用較新的Web服務(wù)器Nginx而不是Apache,這些Web服務(wù)器上的WordPress站點(diǎn)沒有.htaccess 文件。相反,當(dāng)然Nginx也可以添加重定向和IP禁止規(guī)則,Nginx的配置文件相當(dāng)于Apache的.htaccess文件。
網(wǎng)站欄目:什么是WordPress站點(diǎn).htaccess文件?
URL分享:http://fisionsoft.com.cn/article/coshjhd.html


咨詢
建站咨詢
