1 回答

TA貢獻1815條經(jīng)驗 獲得超13個贊
讓我們了解RewriteRule
指令,它是真正的重寫主力。
ARewriteRule
由三個用空格分隔的參數(shù)組成。論據(jù)是
模式:哪些傳入的 URL 應(yīng)該受規(guī)則影響;
替換:匹配的請求應(yīng)該發(fā)送到哪里;
[flags]:影響重寫請求的選項。
讓我們從以下代碼段開始:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
第一行代碼,描述RewriteEngine
是打開的。在這里,我使用RewriteCond
定義重寫規(guī)則條件的指令。使用RewriteCond
指令我們在這里定義了兩個條件。該指令采用了一個名為REQUEST_FILENAME
. 上面的兩個條件判斷請求是不是文件還是目錄,則滿足RewriteRule
. 查看有關(guān)此問題的 更多詳細信息。
現(xiàn)在是時候編寫一些重寫規(guī)則了。讓我們轉(zhuǎn)換
www.example.com/?pr=project-abc123
// to
www.example.com/project-abc123
重寫規(guī)則將是:
RewriteRule ^(.*)$ index.php/?pr=$1 [L]
為了得到www.example.com/pr/project-abc123我們需要如下規(guī)則:
RewriteRule ^/?([a-z]+)/(.*)$ index.php/?$1=$2 [L]
// or
RewriteRule ^/?pr/(.*)$ index.php/?pr=$1 [L]
[L] 標(biāo)志告訴 mod_rewrite 停止處理規(guī)則集。這意味著如果規(guī)則匹配,則不會處理進一步的規(guī)則。
- 1 回答
- 0 關(guān)注
- 123 瀏覽
添加回答
舉報