.htaccess将子目录视为其中的根目录相对URL的根目录

时间:2018-12-19 01:22:01

标签: .htaccess url server url-rewriting filepath

我有一个静态网站生成器,它可以创建根相对URL。

例如

/
/testpage1/
/testpage1/coolcat.jpg

original site gen file hierarchy example

当它们在服务器的根目录下运行时,它们工作得很好...

但是,我很好奇是否存在一个.htaccess规则,我可以使用该规则将静态站点本质上放置在根目录下的子目录中,并使根目录相对URL将该子目录视为新的“根目录”

因此,如果我放置静态文件,请说一个名为“ coolsite”的子目录,由于它们是根相对URL,因此路径现在都将中断。 /仍将转到/,而/testpage1/将无法工作,因为它不会链接到/coolsite/testpage1/

subdirectory file hierarchy example

我尝试了以下操作,虽然这些操作很接近,但是它并未将子目录保留在最终URL中。该站点仍在http://mygreaturl.com/coolsite/加载,并且链接有效,但是在导航该站点– testpage1时,URL变为http://mygreaturl.com/testpage1/而不是首选的http://mygreaturl.com/coolsite/testpage1/

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http://mygreaturl.com/coolsite/
RewriteCond %{REQUEST_URI} !^/coolsite/
RewriteRule (.*) /coolsite/$1 [L,QSA]

一个关键因素是,理想情况下,此操作独立于其他站点数据运行。它不会重写对我所有其他子目录或文件的访问。

谢谢您的帮助,请让我知道我是否可以澄清任何事情!

0 个答案:

没有答案