如何根据cookie / URL使用不同的子目录作为我的root?

时间:2014-02-10 20:14:11

标签: apache .htaccess mod-rewrite

我正在建立一个定期进行更改的网站,该网站的所有者希望能够提供指向某些人的链接,以便向他们展示新的布局。到目前为止,我们可以将主URL指向这些文件的子目录,但我们希望能够根据某个URL或其计算机上的cookie更改子目录。

例如,当有人访问example.com时,它使用目录ws_2013来显示该站点。所有文件都在该子目录中,但是example.com从不在URL中使用该目录。现在,该网站的所有者想要通过URL向他人展示他们正在处理的新布局,并将其发送到example.com/2014/,但他希望该URL从ws_2014子目录中提取文件,但不使用ws_2014在网址中。

以下是我们现在在htaccess文件中的内容:

RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
RewriteCond %{REQUEST_URI} !^/ws_2013/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ws_2013/$1  
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
RewriteRule ^(/)?$ ws_2013/ [L]

我们尝试在饼干的顶部添加一行:

RewriteCond %{HTTP_COOKIE} ^.*view=2014 [NC]
RewriteRule .* ws_2014/ [L,R=301]

但是,这没效果。我对htaccess并不是那么好,而且我不知道如何解决这个问题。任何人都可以向我提供一些有关我如何做到这一点的信息,或者是否有可能?基本上,URL将如下所示,但是从不同的子目录中提取,而不需要重写URL。

example.com/ - > ws_2013

example.com/2014/ - > ws_2014

提前感谢您提供的任何帮助。

0 个答案:

没有答案