使用 .htaccess 将子目录设置为根目录 [英] Using .htaccess to set a sub directory as root directory

查看:49
本文介绍了使用 .htaccess 将子目录设置为根目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法使用 htaccess 告诉一个子目录作为整个站点的根目录?

Is there a way to use htaccess to tell a subdirectory to act as the root for the entire site?

例如,如果我在 http://localhost/testsite/ 下有一个网站,并且在它的 index.php文件我使用以下代码引用了样式表..

For example, if I had a website under http://localhost/testsite/ and in it's index.php file I had a reference to the stylesheet using the following code..

<link rel="stylesheet" type="text/css" href="/css/layout.css" />

然后我可以加载/localhost/testsite/css/layout.css 吗?

Could I then make that load /localhost/testsite/css/layout.css?

为了解决这个问题,我为每个站点设置了 localhost 子域,虽然有效,但并不理想.

To get around this problem, I set up localhost subdomains for each site which although works, is not ideal.

非常感谢.

推荐答案

如果你想保留 'href="/css/layout.css"' 部分,那么是的,你可以设置一个重写规则.你只需要小心不要重定向任何以/testsite 开头的内容(否则你会以循环结束).

If you want to keep the 'href="/css/layout.css"' part, then yes, you can set up a rewrite rule. You just have to be careful not to redirect anything starting with /testsite (or you'll end up with a loop).

喜欢(在根 .htaccess 中):

Like (in root .htaccess):

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/testsite/.*$
RewriteRule ^(.*)$ /testsite/$1 [QSA,L]

在那里,您可以通过以下任一方式访问您的 layout.css 文件:

There, you will be able to access your layout.css file either from:

http://localhost/testsite/css/layout.css

http://localhost/css/layout.css

这篇关于使用 .htaccess 将子目录设置为根目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆