首頁  >  問答  >  主體

apache - RewriteRule重寫url的問題

wordpress安裝在根目錄下的blog資料夾下,所以位址就變成http://mydomain.com/blog
日誌路徑http://mydomain.com/blog/sample-post/
能不能用RewriteRule把wordpress的路徑改為http://mydomain.com/sample-post,隱藏掉blog?
(sample-post不是固定的,是每篇日誌的名字,可變的)
看了半天htaccess沒看懂到底該怎麼寫。
還想請問RewriteRule . /index.php [L]這句話的意思
有的人安裝wordpress之後路徑裡會多一個index.php所以要加上這句把index.php去掉
重寫規則的語法:

RewriteRule Pattern Substitution [flags]

我看到的一個解釋是這樣的:

Pattern是作用於目前URL的相容perl的正規表示式
重寫規則中的Substitution是,當原始URL與Pattern相符時,用以取代(或取代)的字串

那這不是用index.php代替任意字元(我也不太清楚這個pattern是什麼意思,正則裡的'.'不是表示任何單字元嗎)?

求解釋,謝謝~

PHP中文网PHP中文网2713 天前583

全部回覆(2)我來回復

  • 習慣沉默

    習慣沉默2017-05-16 17:02:32

    重寫規則 ^/blog/([/]+) /$1 [L]

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:02:32

    自己解決...

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ blog/ [QSA,PT,L]
    

    雖然去掉url中的blog字段是可以正常訪問,但如果透過頁面裡的連結跳轉,網址裡還是自帶blog,算了我還是把目錄搬一下吧...

    回覆
    0
  • 取消回覆