原文地址:http://www.zoneself.org/2012/02/10/content_235.html
國內的很多Linux型主機預設是不開啟.htaccess的,從而導致不支援偽靜態。而國外的虛擬機器主機基本上都是支援此服務的,我曾經問過國內的主機供應商為何不開啟.htaccess服務,他們的回答很可笑,說是減輕伺服器的負擔,呵,這真是符合了中國的國情,真讓你不知以何種語言反擊之。
這裡給一些菜鳥掃掃盲,很多站長都單純的以為.htaccess就是偽靜態,把.htaccess當成偽靜態代名詞,以為.htaccess就起到.htaccess的作用,其實它的作用比你想象的大得多,出了偽靜態,還有我們熟知的404啊、301跳轉啊等,都可以通過.htaccess來實現,下面來給大家介紹一下如何在Linux型主機下開啟.htaccess的支援,前提你有這個許可權,一般這個針對的是伺服器或者VPS,虛擬機器主機基本上是沒門,除非你要求供應商幫你開啟。另一種情況是有些童鞋在本地搭建PHP+MySQL+Apache的時候用得著此方法,本地的一鍵安裝包有xampp和phpnow等,我個人推薦使用phpnow,簡單易用,完全傻瓜式。如果你使用phpnow搭建的話你就不用往下看了,因為預設是開啟的。
方法如下:
第一:在Apache檔案夾下的conf檔案夾中找到httpd.conf,記事本或者類似的編輯工具開啟後Ctrl+F尋找“LoadModule rewrite_module”,找到“LoadModule rewrite_module modules/mod_rewrite.so”所在的那一行,確定這一行前面沒有#,就說明已經載入了偽靜態模組,假如這一行前面有#,請去掉,phpnow安裝後預設是沒有#的。
第二:讓Apache伺服器支援.htaccess,如何讓自己的本地Apache伺服器支援”.htaccess”呢?其實只要簡單修改一下apache的httpd.conf設定就可以讓支援.htaccess了。開啟httpd.conf檔案,用文字編輯器開啟後,尋找
Options FollowSymLinks
AllowOverride None
改為
Options FollowSymLinks
AllowOverride All
第一是確定是否已經載入了偽靜態模組,第二是修改這一處的設定。操作完後測試一下.htaccess是否已生效,如還未生效,請重啟Apache服務。