繁体   English   中英

.htaccess将根目录重定向到文件夹

[英].htaccess redirect root to folder

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

/www                <- one.com
    /index.html
    /assets
        ...
    /folder         <- two.com
        /.htaccess
        /index.html
        /assets
            ...

因此,如果要访问two网站,可以使用以下URL:

one.com/folder
two.com

我的问题:使用绝对路径在网站two包含文件(css / js / img),我需要根据用户访问网站two URL调整根目录。 下面以一个示例为例:


html文件/www/folder/index.html包含图片:

<img src="/assets/img.jpg" />

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


因此,我想我会改变网站的根目录(基本目录) two通过.htaccess国防部重写取决于哪个URL被调用。 按照我想实现的简单伪代码:

if url == one.com/folder*
    root = /folder/
else
    root = /

并遵循到目前为止我的.htaccess文件的内容:

RewriteEngine on
RewriteCond   %{HTTP_HOST}   ^(www\.)?one\.com
RewriteRule   ^/(.*)$  /folder/$1  [R]

不幸的是,似乎我在这里缺少什么。 到目前为止,它不起作用。 任何建议深表感谢!

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

RewriteEngine On

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM