Apache的Mode Rewrite模塊提供了一個基于正則表達(dá)式分析器的重寫引擎來實時重寫URL請求。在大多數(shù)情況下,它和.htaccess文件配合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模塊和.htaccess文件一起實現(xiàn)的,即所謂的固定鏈接(Permalinks)。
Windows
在Windows下,我們一般使用的是Administrator賬號,所以啟用這兩項非常簡單:
- 在[Apache安裝目錄]/conf/httpd.conf中找到
#LoadModule rewrite_module modules/mod_rewrite.so ,去掉前面的注釋符號#。如果沒有這行,請?zhí)砑。并確認(rèn)apache安裝目錄下的modules文件夾中是否有mod_rewrite.so 這個文件。這樣就啟用了Mod Rewrite 功能。
- 在
[Apache安裝目錄]/conf/httpd.conf 中找到 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
把“AllowOverride None ”改成“AllowOverride All ”,這樣所有的文件夾都支持.htaccess了,或者針對指定的文件夾啟用.htaccess,可以在[Apache安裝目錄]/conf/httpd.conf 中加入 <Directory "D:/sites/example/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
這種做法一般是和虛擬主機(jī)配置在一起的,所以大多數(shù)會把上述配置代碼寫入[Apache安裝目錄]/conf/extra/httpd-vhost.conf 中,這樣比較清晰易于管理。
- 重啟Apache后,就ok了。
完成上訴步驟后,在Wordpress的固定鏈接中使用除默認(rèn)外的鏈接設(shè)置,Wordpress會直接在其安裝目錄中生成對應(yīng)的.htaccess,這樣就可以使用設(shè)置的鏈接形式了。
Mac OS X
在Mac OS X中一般不使用root 賬號,而是通過sudo 來獲得root 相關(guān)權(quán)限。一般情況下,我們把網(wǎng)站文件放在個人目錄下,比如~/Sites ,這樣就涉及到Mac OS的權(quán)限管理,相對于Windows來說復(fù)雜不少。
- 在終端運(yùn)行sudo vi /etc/apache2/httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so ,去掉前面的注釋符號#。
- 運(yùn)行
sudo vi /etc/apache2/extra/httpd-vhost.conf ,加入 <Directory "/Users/[用戶名]/Sites"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
這樣整個~/Sites 都可以支持.htaccess 。
- 運(yùn)行
sudo vi /Private/etc/apache2/users/[用戶名].conf ,把其中的AllowOverride None 改成AllowOverride All 。需要注意的是,以前的Mac OS X版本,路徑可能是/private/etc/httpd/users/[用戶名].conf
- 在需要的目錄新建.htaccess,并修改其權(quán)限為777,此處依舊以使用Wordpress的固定鏈接為例。
cd ~/Sites/Wordpress touch .htaccess chmod 777 .htaccess
新建文件的權(quán)限默認(rèn)是644 ,通過ls -l .htaccess 就可以看到,此時程序無法自動寫入.htaccess,這種情況比較安全,但是需要手動寫入。
- 退出后重啟Apache:
sudo apachectl restart
完成上述設(shè)置之后,就可以使用Wordpress的固定鏈接功能了。需要注意的是,如果.htaccess是從Windows下直接復(fù)制過來,日志中可能會出現(xiàn)</IfModule> without matching <IfModule> section 的報錯。簡單的解決方案就是新建文件,重新復(fù)制粘貼。
原文:http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x/
本文鏈接:http://www.95time.cn/tech/web/2010/7645.asp
出處:隨網(wǎng)之舞
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|