1
我總是使用下一個:重寫規則的多個文件名
RewriteRule ^(.*)/$ page.php?name=category&type=$1 [L]
重寫我的鏈接。我只使用了一個文件名「page.php」,它工作。 今天,我要添加另一個文件「project.php」,並需要另一個重寫規則吧,這就是我想在.htaccess使用全碼:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^(.*)/$ page.php?name=category&type=$1 [L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ project.php?category=$1&id=$4&type=$2&name=$3 [L]
但是,這只是工作第一條路,第二條。請,任何人都可以幫忙弄清楚嗎?我試圖搜索它一段時間,但找不到解決方案。提前謝謝了!
我們可以得到一個網址的例子嗎? page.php和project.php都是。 –
謝謝你的回覆,喬納森。我現在不能提供實時鏈接,但是當我嘗試從第二個鏈接獲取「類別」時: project.php?category = $ 1&id = $ 4&type = $ 2&name = $ 3(鏈接轉換後) 它將它們全部放在一起,包括「id」,「type」等等,以斜線表示;例如一/二/三 – dnns
是的,我明白了。我不需要實際的實時鏈接,我只是想知道鏈接大概是什麼樣子。我已經可以告訴你的問題是'(。*)'表示「零個或多個任何字符」。這將包括'/'。所以所有的URL都會匹配'。*'使第一條規則總是成立。之後重寫停止。你應該更好地識別哪些類型的字符(僅限數字,僅限字母,兩者......等)應該在每個組中(括號之間)並匹配。 –