CentOS下.htaccess不起作用的解決方法
更新時間:2011年04月02日 20:33:14 作者:
PHP 5.2的問題解決后,現(xiàn)在就是安裝WordPress了。裝好了沒有任何問題,接下來繼續(xù)配置WordPress,開啟靜態(tài)URL鏈接。然后手動編輯了.htaccess文件,將WordPress生成的相關(guān)代碼拷貝進(jìn)去了。
結(jié)果點擊一個鏈接直接404 Not Found。悲劇,看來Apache的Rewrite部分有問題了,完全無視掉了.htaccess文件!經(jīng)過檢查Apache的模塊,發(fā)現(xiàn)Rewrite模塊是開啟的狀態(tài),看來是httpd.conf文件中的配置有點問題了?;叵肫鹬霸赨buntu Server下配置Rewrite也是啟用了一個叫做“AllowOverride”的屬性為“All”才正確開啟了Rewrite,這次手動配置VirtualHost的時候并沒有寫上這兩句,看來就是這個問題了。
立馬輸入 :
#vim /etc/httpd/conf/httpd.conf
找到自己的VirtualHost設(shè)置部分,添上
<Directory />
AllowOverride All
</Directory>
上面這段的Directory /的“/”為你的www路徑,如放在“/var/www/html”路徑下就寫為“<Directory /var/www/html>”,以此類推。保存后重啟httpd服務(wù):
#/etc/init.d/httpd restart
再次進(jìn)入WordPress,點擊一個鏈接,成了!問題解決。看來這個“AllowOverride”很不簡單??!于是上網(wǎng)找了一圈,發(fā)現(xiàn)這個是控制.htaccess的關(guān)鍵點所在。除了需要在Apache中打開Rewrite,以及正確設(shè)置.htaccess文件名之外,還需要對目錄的AllowOverride進(jìn)行配置,因為默認(rèn)情況下AllowOverride值為None,這樣會完全忽略.htaccess文件。
此外,除了All和None這兩個值之外,AllowOverride還有很多個值,他們的含義分別如下:
AuthConfig
允許使用與認(rèn)證授權(quán)相關(guān)的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo
允許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元數(shù)據(jù)的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes
允許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit
允許使用控制主機(jī)訪問的指令(Allow, Deny, Order)。
Options[=Option,...]
允許使用控制指定目錄功能的指令(Options和XBitHack)??梢栽诘忍柡竺娓郊右粋€逗號分隔的(無空格的)Options選項列表,用來控制允許Options指令使用哪些選項。
這樣以來,加上All和None,一共是7個可選的值了。看來又增長了不少的見識呀!以后再出現(xiàn)類似問題,不管哪個Linux下,我都能輕松找到問題所在了!
立馬輸入 :
#vim /etc/httpd/conf/httpd.conf
找到自己的VirtualHost設(shè)置部分,添上
<Directory />
AllowOverride All
</Directory>
上面這段的Directory /的“/”為你的www路徑,如放在“/var/www/html”路徑下就寫為“<Directory /var/www/html>”,以此類推。保存后重啟httpd服務(wù):
#/etc/init.d/httpd restart
再次進(jìn)入WordPress,點擊一個鏈接,成了!問題解決。看來這個“AllowOverride”很不簡單??!于是上網(wǎng)找了一圈,發(fā)現(xiàn)這個是控制.htaccess的關(guān)鍵點所在。除了需要在Apache中打開Rewrite,以及正確設(shè)置.htaccess文件名之外,還需要對目錄的AllowOverride進(jìn)行配置,因為默認(rèn)情況下AllowOverride值為None,這樣會完全忽略.htaccess文件。
此外,除了All和None這兩個值之外,AllowOverride還有很多個值,他們的含義分別如下:
AuthConfig
允許使用與認(rèn)證授權(quán)相關(guān)的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo
允許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元數(shù)據(jù)的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes
允許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit
允許使用控制主機(jī)訪問的指令(Allow, Deny, Order)。
Options[=Option,...]
允許使用控制指定目錄功能的指令(Options和XBitHack)??梢栽诘忍柡竺娓郊右粋€逗號分隔的(無空格的)Options選項列表,用來控制允許Options指令使用哪些選項。
這樣以來,加上All和None,一共是7個可選的值了。看來又增長了不少的見識呀!以后再出現(xiàn)類似問題,不管哪個Linux下,我都能輕松找到問題所在了!
您可能感興趣的文章:
- CentOS 6.6實現(xiàn)永久修改DNS地址的方法
- Centos下IP與DNS設(shè)置方法詳解
- 用DNSPod和Squid打造自己的CDN (三) 安裝CentOS Linux
- Centos 6.3將Mysql 5.1.61升級為mysql 5.6.19遇到的問題及解決方式
- CentOS下php使用127.0.0.1不能連接mysql的解決方法
- CentOS安裝pillow報錯的解決方法
- CentOS 7下MySQL服務(wù)啟動失敗的快速解決方法
- centos下編譯安裝mysql報錯解決方案
- CentOS下PHP7的編譯安裝及MySQL的支持和一些常見問題的解決辦法
- Centos修改DNS重啟或重啟network服務(wù)后丟失問題解決方法
相關(guān)文章
Apache Rewrite實現(xiàn)URL的301跳轉(zhuǎn)和域名跳轉(zhuǎn)
Rewirte主要的功能就是實現(xiàn)URL的跳轉(zhuǎn),它的正則表達(dá)式是基于Perl語言??苫诜?wù)器級的(httpd.conf)和目錄級的 (.htaccess)兩種方式2012-05-05讓Apache支持Rewrite靜態(tài)頁面重寫的方法
Apache下Rewrite靜態(tài)頁面重寫的方法,需要的朋友可以參考下。2010-07-07Centos6.x服務(wù)器配置jdk+tomcat+mysql環(huán)境(jsp+mysql)
這篇文章主要介紹了Centos6.x服務(wù)器配置jdk+tomcat+mysql環(huán)境(jsp+mysql),需要的朋友可以參考下2017-09-09Linux系統(tǒng)配置網(wǎng)絡(luò)詳細(xì)介紹
大家好,本篇文章主要講的是Linux系統(tǒng)配置網(wǎng)絡(luò)詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01Apache Spark 2.0 在作業(yè)完成時卻花費很長時間結(jié)束
大家在使用 Apache Spark 2.x 的時候可能會遇到這種現(xiàn)象:雖然我們的 Spark Jobs 已經(jīng)全部完成了,但是我們的程序卻還在執(zhí)行。怎么回事呢?下面小編通過實例代碼給大家介紹下2019-06-06Linux下Redis設(shè)置密碼及開機(jī)自啟動
這篇文章主要介紹了Linux下Redis設(shè)置密碼及開機(jī)自啟動的相關(guān)資料,需要的朋友可以參考下2016-12-12