2014-12-02 130 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