啓用Mod Rewrite和.htaccess

Apache的Mode Rewrite模塊提供了一個基於正則表達式分析器的重寫引擎來實時重寫URL請求。在大多數狀況下,它和.htaccess文件配 合使用。好比本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite- and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模塊和.htaccess文件一塊兒實現的,即所謂的固定連接(Permalinks)html

Windows

在Windows下,咱們通常使用的是Administrator帳號,因此啓用這兩項很是簡單: linux

  1. 在[Apache安裝目錄]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的註釋符號#。若是沒有這行,請添加。並確認apache安裝目錄下的modules文件夾中是否有mod_rewrite.so這個文件。這樣就啓用了Mod Rewrite功能。
  2. 在[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>

    這種作法通常是和虛擬主機配置在一塊兒的,因此大多數會把上述配置代碼寫入[Apache安裝目錄]/conf/extra/httpd-vhost.conf中,這樣比較清晰易於管理。 apache

  3. 重啓Apache後,就ok了。

完成上訴步驟後,在Wordpress的固定連接中使用除默認外的連接設置,Wordpress會直接在其安裝目錄中生成對應的.htaccess,這樣就可使用設置的連接形式了。 安全

Mac OS X

在Mac OS X中通常不使用root帳號,而是經過sudo來得到root相關權限。通常狀況下,咱們把網站文件放在我的目錄下,好比~/Sites,這樣就涉及到Mac OS的權限管理,相對於Windows來講複雜很多。 ide

  1. 在終端運行sudo vi /etc/apache2/httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的註釋符號#。
  2. 運行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。 wordpress

  3. 運行sudo vi /Private/etc/apache2/users/[用戶名].conf,把其中的AllowOverride None改爲AllowOverride All。須要注意的是,之前的Mac OS X版本,路徑多是/private/etc/httpd/users/[用戶名].conf
  4. 在須要的目錄新建.htaccess,並修改其權限爲777,此處依舊以使用Wordpress的固定連接爲例。
    cd ~/Sites/Wordpress
    touch .htaccess
    chmod 777 .htaccess

    新建文件的權限默認是644,經過ls -l .htaccess就能夠看到,此時程序沒法自動寫入.htaccess,這種狀況比較安全,可是須要手動寫入。 優化

  5. 退出後重啓Apache:sudo apachectl restart

完成上述設置以後,就可使用Wordpress的固定連接功能了。須要注意的是,若是.htaccess是從Windows下直接複製過來,日誌中可能會出現</IfModule> without matching <IfModule> section的報錯。簡單的解決方案就是新建文件,從新複製粘貼。 網站

以前寫過若是作僞靜態的文章,今天看隨網之舞的博客看到了怎麼具體設置rewrite模塊的文章,就轉了。看看具體怎麼開啓重寫功能吧,而後再根據個人《WordPress的SEO技巧:僞靜態化》,來優化你的WP的SEO吧。 spa

相關文章
相關標籤/搜索