2009-06-19 94 views
0

我有一個名爲test的文件夾位於www.mydomain.com/abc/files/test。我需要更改網址從www.mydomain.com/abc/files/test/test.php?id=15&key=some-text123如何爲子子目錄「重寫規則」? .htaccess/php

www.mydomain.com/abc/files/test/15/some-text123這是類似於SO網址。

我試着在.htaccess文件下面有以下代碼

RewriteEngine on 
Options +FollowSymlinks 
RewriteBase/
RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 [R] 

它重定向我www.mydomain.com/test/test.php?id=15&key=some-text-123 但它沒有工作,因爲我從什麼地方複製的格式。我不知道^是否應該包含www部分,或者它只是假設/作爲根?

「id」部分對我很重要。我也會考慮以下爲有效的網址。

www.mydomain.com/abc/files/test/15 (without /some-text123") 
www.mydomain.com/abc/files/test/15/ (without /some-text123 but having /) 

你能幫我寫出正確的規則嗎?

我該怎麼做才能讓我不必硬編碼「abc/files /」?

應該不會影響我的網站的其他URL(除「測試」文件夾。)

另外,URL應該保持不變(/files/test/15 etc),而不是更改爲"?id=15&key=some-text123"

謝謝許多。

回答

0

R flag強制外部重定向。所以,只要把它路程,請求將被內部重定向的:

RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 
+0

我已經試過..不工作..拋出了「找不到對象」 – TigerTiger 2009-06-19 15:00:18