2014-12-02 182 views
0

我想創建一個使用2個虛擬漂亮的URL(削減PARAMS)(不是真正的目錄路徑。)htaccess的URLRewrite虛擬目錄

出於某種原因,當我包括虛擬路徑,該的RewriteRules沒有趕上請求的URL 。

當前的代碼不工作:(無重寫發生)

RewriteRule ^virtualpathONE/file/(.*)$ realpath1/file.php?param=$1 
RewriteRule ^virtualpathTWO/file/(.*)$ realpath2/file.php?param=$1 

但是沒有它適用於任何虛擬路徑:

RewriteRule ^file/(.*)$ realpath1/file.php?param=$1 

我如何使用我的htaccess文件中的兩個虛擬路徑?

最終的輸出應該是:

mysite.com/virtualpathone/file/param/100 

mysite.com/virtualpathtwo/file/param/100 
+0

什麼不起作用?您使用虛擬路徑時使用了哪個URL以及您得到了什麼錯誤? – anubhava 2014-12-02 15:43:46

+0

感謝您的評論。沒有錯誤。只是一個普通的頁面加載而不會重寫URL。我用site.com/virtualpathone/file/param/100 – tdjfdjdj 2014-12-02 15:56:59

回答

0

試試這個的.htaccess在你的DocumentRoot:

Options -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteRule ^virtualpathONE/file/(.*)$ realpath1/file.php?param=$1 [L,NC,QSA] 
RewriteRule ^virtualpathTWO/file/(.*)$ realpath2/file.php?param=$1 [L,NC,QSA] 
+0

剛剛嘗試過。網址不會更改。如果我手動輸入漂亮的url到地址欄中,如下所示:site.com/virutalpathone/file/param/100我得到一個頁面無法找到的錯誤。 – tdjfdjdj 2014-12-02 23:45:58

+0

試試這個確切的URL'site.com/virutalpathONE/file/100'。你在這個htaccess中有更多的規則嗎? – anubhava 2014-12-03 03:15:37

+0

如果'http:// domain.com/virutalpathONE/file/100'給出404,那麼也請嘗試:'http://domain.com/realpath1/file.php?param = 100' – anubhava 2014-12-03 05:35:39