.htaccess:转发到/index.htm的任何链接

时间:2010-04-13 19:55:36

标签: drupal .htaccess mod-rewrite

我想做以下事情:

如果用户访问网址或输入网址,则该网址与以下内容相符:

  • /路径/路径/路径
  • /路径
  • /路径/路径/

我希望htaccess在触发404之前将它们转发到该url + /index.htm。此外,我想忽略某些路径的此规则。以下是我的尝试,并没有取得成功:

RewriteCond %{REQUEST_URI} !^(admin)
RewriteCond %{REQUEST_URI} !^(node)
RewriteRule ^/(.*)/$ $1/index.htm [L]

以下是应用程序概述的方式。它实际上是应用程序中的一个子目录,因为该站点目前处于转换状态。

ParentApp/
  /folder/
  /folder/
  /Drupal/
    /(new application here)
    /...
    /...

2 个答案:

答案 0 :(得分:1)

你重写的方式看起来就像你只是试图将'index.htm'显示为每个目录的索引文件,你实际上并没有在任何地方重定向。这可以使用DirectoryIndex index.htm轻松模仿。

如果您尝试重定向到根索引文件,这是一种更简单的方法:

RewriteRule !^(admin/(.*)|node/(.*)) index.htm [L]

这个规则类似于我在网站上使用的规则。确保您拥有RewriteEngine On

答案 1 :(得分:0)

解决了它。使用了错误的正则表达式字符。立即行动。