.htaccess原來如此有用
編輯:狂族晨曦 來源:系統(tǒng)運維,經驗雜筆 日期:2016-05-26 閱讀: 6,844 次 20 條評論 » 百度已收錄
近期幫助一位站長解決了網站無法訪問的問題, 顯示錯誤“The requested URL '/' was not found on this server.( 請求的URL(對象)在服務器找不到 )”。結果,原因僅僅是因為網站根目錄沒有.htaccess文件。

.htaccess文件
就此,先森開始重新認識.htaccess文件。發(fā)現其實先森本站上對.htaccess的運用所發(fā)布的文章都已經有幾篇了:
認識.htaccess
.htaccess的運用竟然如此之多,先森不禁有點吃驚。趕緊百度安利一波關于htaccess文件的知識。
htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
大部分的主機供應商都支持自定義,htaccess文件,先森使用的阿里云虛擬主機,.htaccess文件還是自己上傳的。建站初期,我們只需要有個.htaccess文件存在即可,里面放些初始配置語句即可:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
其實很簡單的就可以看出,上面這段初始配置中,就包括了定義index.php文件為首頁默認文件的相關配置,這也就是那位站長網站不能訪問的原因了。
先森上面提到的三篇文章就分別使用了允許/阻止特定的用戶或者目錄的訪問、網頁301重定向、改變文件擴展名的功能,.htaccess的功能可謂非常強大。在使用虛機不能接觸.conf配置文件的情況下,.htaccess能給我們提供不小的便利。
一些雜談
先森培訓紅帽Linux,在培訓到RHCE的時候,終于接觸到Apache的配置了。老師教了我們如何在服務端主機上配置虛擬主機,自然接觸到了自定義配置文件。自定義配置文件是在/etc/httpd/conf.d/下,隨便創(chuàng)建一個以.conf結尾的文件即可。其中涉及到的301重定向和禁止訪問,先森看那些配置語句,是越看越熟悉,原來和.htaccess的是一樣的。
先森曾經對WordPress緩存插件WP Super Cache的工作方式產生了疑問,它是如何訪客訪問的頁面是其保存在另一個文件夾內的文件的呢,明明沒有跳轉什么的?先森鉆了很久的牛角尖,而后頓悟,在其設置中有寫入.htaccess的規(guī)則,就是這些規(guī)則讓訪問的鏈接與其緩存文件對應。
不過htaccess再怎么有用,它也只是分布式配置文件,要是httpd.conf中把開關一關,它也就沒用了。所以有條件的還是直接折騰服務器的配置文件吧,這樣更有意思。如果你還是一名在校大學生,可以試試騰訊云的學生機:直播了一段用騰訊云校園計劃1元購買免費域名+專享服務器及安全認證
歷史上的今天:
- 2015: 系部簡介(0)
轉載請注明出處來自http://www.cnidcc.cn/htaccess.html

川公網安備 51011202000104號
寫的還不錯,鼓勵鼓勵~~~
主要用于apache
以前用過,現在不怎么用了,一般主機控制面板都有301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔,不過功能是很強大,前提是空間商要給你開啟才行
@鄭海濱博客: 這個確實是,但是阿里云的萬網主機控制面板好像沒這么強大,只有幾個功能
@狂族晨曦: 我用的是景安的服務器,不知道你聽過沒有,萬網的個人覺得不怎么好用。
這東西還可以用一個空間建兩個站,就是沒有試驗過。
一般的Linux虛擬主機好像都有.htaccess文件,用習慣了這個還是挺好用的
用.htaccess做過緩存。
確實不錯
還是搞不懂這些東西
計算機系的學生就是牛,博客搞的不錯,贊!!!
總感覺這是經過網站的大門。
挺好用的!
沒太留意到這些
o ,感謝博主分享
尤其是偽靜態(tài),這個文件就更重要了。
這個就是方向盤。
多謝分享
我就知道這東西是用來做偽靜態(tài)的。還有301跳轉的。
留下腳印,歡迎回訪