.htaccess将root重定向到文件夹

时间:2015-06-23 20:01:48

标签: regex apache .htaccess mod-rewrite redirect

我的服务器上有两个独立网站。其中一个网站位于另一个网站的子文件夹中。两个网站都可以通过两个不同的域访问。遵循我服务器上的文件夹结构:

$(document).ready(function(){});

因此,如果我想访问网站/www <- one.com /index.html /assets ... /folder <- two.com /.htaccess /index.html /assets ... ,我可以使用以下网址进行访问:

two

我的问题:使用绝对路径在网站one.com/folder two.com 中包含文件(css / js / img),我需要根据用户访问网站two的URL来调整我的根。以下举例说明:

html文件two包含图片:

/www/folder/index.html

如果用户通过域<img src="/assets/img.jpg" /> 访问此html文件,则图像源路径将转换为one.com/folder/index.html,无法找到任何图像。正确的是one.com/assets/img.jpg(注意路径中的one.com/folder/assets/img.jpg)。显然,如果用户调用folder,则问题不存在。

因此,我认为我会通过two.com/index.html mod重写更改网站two的根目录(基本目录),具体取决于调用哪个URL。遵循我想实现的简单伪代码:

.htaccess

按照我到目前为止的if url == one.com/folder* root = /folder/ else root = / 文件:

.htaccess

不幸的是,好像我在这里遗漏了一些东西。到目前为止,它不起作用。任何建议都非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以将此规则放在/www/.htaccess文件夹中:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(assets/.+)$ /folder/$1 [L,NC,R=301]