Apache的Mode Rewrite模塊提供了一個(gè)基于正則表達(dá)式分析器的重寫引擎來實(shí)時(shí)重寫URL請求。在大多數(shù)情況下,它和.htaccess文件配 合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite- and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模塊和.htaccess文件一起實(shí)現(xiàn)的,即所謂的固定鏈接(Permalinks)。
創(chuàng)新互聯(lián)建站長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為京山企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),京山網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。Windows在Windows下,我們一般使用的是Administrator賬號,所以啟用這兩項(xiàng)非常簡單:
在[Apache安裝目錄]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注釋符號#。如果沒有這行,請?zhí)砑印2⒋_認(rèn)apache安裝目錄下的modules文件夾中是否有mod_rewrite.so這個(gè)文件。這樣就啟用了Mod Rewrite功能。 在[Apache安裝目錄]/conf/httpd.conf中找到把“AllowOverride None”改成“AllowOverride All”,這樣所有的文件夾都支持.htaccess了,或者針對指定的文件夾啟用.htaccess,可以在[Apache安裝目錄]/conf/httpd.conf中加入
這種做法一般是和虛擬主機(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)站文件放在個(gè)人目錄下,比如~/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,加入這樣整個(gè)~/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就可以看到,此時(shí)程序無法自動(dòng)寫入.htaccess,這種情況比較安全,但是需要手動(dòng)寫入。
退出后重啟Apache:sudo apachectl restart完成上述設(shè)置之后,就可以使用Wordpress的固定鏈接功能了。需要注意的是,如果.htaccess是從Windows下直接復(fù)制過來,日志中可能會出現(xiàn) without matching
之前寫過如果做偽靜態(tài)的文章,今天看隨網(wǎng)之舞的博客看到了怎么具體設(shè)置rewrite模塊的文章,就轉(zhuǎn)了。看看具體怎么開啟重寫功能吧,然后再根據(jù)我的《WordPress的SEO技巧:偽靜態(tài)化》,來優(yōu)化你的WP的SEO吧。