2013-02-14 76 views
0

我有一个网站在一个子文件夹下运行一个CMS,但不是像http://mysite.tld/cms/那样加载它,我想要加载所有页面,就像它们位于http://mysite.tld的根目录一样。使用.htaccess控制儿童路径?

到目前为止,我已经能够然而在http://mysite.tld/做到这一点,使得索引文件加载了一部分,当我开始把触角伸到孩子的网页我最终得到http://mysite.tld/cms/some-page,而不是http://mysite.tld/some-page

我的.htaccess到目前为止如下:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?mysite.tld$ 
RewriteRule ^(/)?$ cms [L] 

我不禁想一定是有什么说我失踪的.htaccess,便利子页面的根目录中以及工作而不是在/cms/的路径?

+0

像这样的东西应该工作:'^重写规则CMS /(.*)/ $ 1 [L]' – 2013-02-14 17:27:16

+0

@faa其实我觉得你'在这里重点关注。我现在可以获取页面,但是找不到资源,例如样式表和其他相关资源。尽管如此,我不得不在root中包含一个index.php文件,该文件启动了一个require子目录,所以我觉得我没有在.htaccess中设置正确的东西。 – ylluminate 2013-02-14 18:07:48

+0

从技术上来说,好像我只能用'ReeriteEngine On'和'RewriteRule ^(/)?$ cms/$ 1'来完成这个技巧,但我却得到了这些缺失的资源。 – ylluminate 2013-02-14 18:47:36

回答

0

我发现following作品:

重写规则^ FOLDERNAME - [L,NC]

  • 的 - 手段无能为力。

  • L表示这应该是最后的规则;忽视以下所有内容

  • NC表示没有大小写(所以“FOLDERNAME”也匹配)。

Rails的方法也适用:

RewriteCond %{REQUEST_URI} ^(folders|to|ignore).* 
RewriteRule .* – [L]