※ 引述《awa6811 (希望永存)》之銘言:
: 如何把網址
: ex: ph.com/index.php?ptype=info&id=50&kind=girl&pind=a
: 變成較安全的 ph.com/info/50/girl/a
: 我有參考寫法但是我不知道為何這樣寫
: RewriteEngine on
: RewriteCond $1 !^(index\.php)
: RewriteCond %{REQUEST_FILENAME} !-f
: RewriteCond %{REQUEST_FILENAME} !-d
: RewriteRule ^(.*)$ index.php/$1 [L,QSA]
: 並且我怎麼套用都不行
: 請懂得網友幫忙解惑 感恩 _/\_
使用者請求
ph.com/info/50/girl/a
網站要返回下面網址的內容,但是網址不變
ph.com/index.php?ptype=info&id=50&kind=girl&pind=a
應該是:
RewriteEngine On
RewriteRule ^(.+)/(.+)/(.+)/(.+)$
index.php?ptype=$1&id=$2&kink=$3&pind=$4 [L]
解釋RewriteRule:
^ 代表開頭
/ 這個是網址裡面的斜線,用來分隔字串。
() 每一對括號補捉到一組字串,依序是 $1, $2, $3, $4
. 代表任意字元
+ 代表1個字以上,至少1個字
最後再轉址到後面那個字串。
或是指定用 \w\d
RewriteRule ^([\w\d]+)/([\w\d]+)/([\w\d]+)/([\w\d]+)$
[] 代表1個字元。
\w 代表英文字母
\d 代表數字。
你可以參考我這篇:
http://ron314159.blogspot.tw/2012/01/apache-rewriterule.html
第一個範例就是你要的。