2015-08-22 563 views
0

我目前有一個.htaccess重寫規則,將包含/ws的所有網址重定向到/ws/index.php例如。 www.domain.com/ws/controller/function.htaccess多重寫規則

RewriteEngine on 
RewriteBase /ws/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

我期待再添重定向,一樣的,對於那些包含/電子郵件/等等www.domain.com/email/controller/所有要求函數將重定向到/email/index.php。

我的完整.htaccess看起來像下面的代碼,但它似乎/電子郵件/永遠不會被調用。

RewriteEngine on 
RewriteBase /ws/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

RewriteEngine on 
RewriteBase /email/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

我已經嘗試添加^/email給RewriteRule條件,但無濟於事。

任何幫助,將不勝感激。

感謝

+0

的指向/電子郵件/網址其他地方,或只是不呢? – PhilMasterG

+0

不,這個想法是任何www.domain.com/email/x/y/z去/email/index.php – Dezza

+0

它出現,當我嘗試一個/ ws的url它直接去電子郵件重寫... – Dezza

回答

1

您可以使用:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

RewriteRule ^ws/(.*)$ ws/index.php?url=$1 [NC,L,QSA] 
RewriteRule ^email/(.*)$ email/index.php?url=$1 [NC,L,QSA] 
+0

謝謝,但www.domain.com/ws/x/y/z仍然通過/電子郵件/而不是/ ws/ – Dezza

+0

如果您使用所有且僅限我的代碼,則不需要其他任何東西。 – Croises

+0

是的你是正確的我的錯誤 - 我正在運行'$ params = explode(「/」,$ _GET ['url']);'在導致索引向下移動的那個url上,這更好。非常感謝! – Dezza