2010-06-19 37 views
1

我有一個硬定時學習.htaccess文件重寫規則,所以我希望有人能告訴我如何改寫這個:.htaccess文件:動態重定向

test.com/home/feed/toak/nyheter/VG

成這樣:

test.com/index.php?r=home & F =進料; toak; nyheter; VG

這是一個動態的URL,並且可以有多個元素分離;到底。我希望我的用戶能夠輸入儘可能人性化的網址。我希望有人能幫助!

回答

4

如果您有可變數量的參數,則不能僅通過.htaccess進行。你可以在php中重寫:

RewriteEngine On 
RewriteRule .* rewrite.php [NE,L] 

並在rewrite.php中解析$_SERVER['REQUEST_URI']

對於靜態數4個變量:

RewriteEngine On 
RewriteRule ^(\w+)/(\w+)/(\w+)/(\w+)/(\w+) index.php?r=$1&f=$2;$3;$4;$5 

或者你可以做(​​爲任意數量的變量):

RewriteEngine On 
RewriteRule ^(\w+)/(.*) index.php?r=$1&f=$2 

而在index.php文件使用$_GET['f'] = strtr($_GET['f'], '/', ';');

+0

Okai,但我該如何在rewrite.php中使用動態數量的變量來做到這一點? – toak 2010-06-19 22:31:36

+0

'$ vars = explode('/',$ _SERVER ['REQUEST_URI']); $ r = array_shift($ vars); $ f = $ vars;' – Mewp 2010-06-19 22:32:53

+0

Okai,非常感謝! – toak 2010-06-19 22:42:30