2011-07-05 137 views
0

我一直在嘗試創建一個規則。.htaccess重寫規則幫助

如果有人能幫忙,我會非常感激。

請求:domain.com/c/wb.php?p=rs/rs/1tb/25n/ru/rs

改寫爲:提前domain.com/c/wb/rs/rs/1tb/25n/ru/rs

感謝

回答

0

它應該是這個樣子

RewriteRule ^(c/wb)\.php\?p=(rs/rs/1tb/25n/ru/rs)$ $1/$2 [L,NS] 

不過我不知道,如果你需要大幅削減如果你在你的.htaccess文件中使用了這個,你可以在c/wb的前面。如果您在VirtualHost配置中使用此功能,則需要使用斜槓。

+0

它不會工作 - 'RewriteRule'不與查詢字符串**,只能用'的RewriteCond的工作有所幫助**直接' – LazyOne

+0

是的,你在這裏是正確的。儘管@joseav想要@elmugrat看到它的重寫規則,但我們的討論毫無價值。 – Gedrox

1

我認爲你有這個有點倒退。後面的URL重寫的想法是,你拿個整潔的URL是這樣的(用戶所看到的):

http://domain.com/c/wb/rs/rs/1tb/25n/ru/rs 

,並重寫它的幕後成醜陋,但PHP等友好的URL像這樣(的服務器是什麼流程):

http://domain.com/c/wb.php?p=rs/rs/1tb/25n/ru/rs 

要做到這一點,使用:

RewriteEngine On 
RewriteRule ^/c/wb/(.*) http://domain.com/c/wb.php?p=$1 [L, NS] 
+0

嗨,感謝您的寶貴幫助,我嘗試@elmugrat解決方案,但我得到一個錯誤:內部服務器錯誤.....此外,嘗試使用ErrorDocument來處理請求時遇到500內部服務器錯誤錯誤。謝謝 – joseav

+0

.htaccess還有什麼? –