Regex 我怎样才能有一个修改为cms和另一个静态页面重写?

Regex 我怎样才能有一个修改为cms和另一个静态页面重写?,regex,drupal,mod-rewrite,Regex,Drupal,Mod Rewrite,我目前有一个安装了Drupal的站点,它有干净的URL,因此.htaccess文件包含以下内容: RewriteRule ^ index.php [L] 除此之外,我希望能够发布静态html页面,并让它们使用干净的URL。我想通过添加一个特定的关键字(例如内容)和下面的内容(不确定这是否有效)将它们与drupal页面区分开来,在这里我会得到一个url,如www.domainname.com/nice-holiday,并将其翻译为 domainname.com/ftp/pages/nice-ho

我目前有一个安装了Drupal的站点,它有干净的URL,因此.htaccess文件包含以下内容:

RewriteRule ^ index.php [L]
除此之外,我希望能够发布静态html页面,并让它们使用干净的URL。我想通过添加一个特定的关键字(例如内容)和下面的内容(不确定这是否有效)将它们与drupal页面区分开来,在这里我会得到一个url,如www.domainname.com/nice-holiday,并将其翻译为 domainname.com/ftp/pages/nice-holiday.html

RewriteRule   ^content/(.+)$   domainname.com/ftp/pages/$1.html   [L]
问题是第一条规则将尝试对所有请求执行。我试着把更具体的规则放在更一般的规则之前,但它仍然不起作用。
你怎么能有两个基于条件的修改重写规则?e、 g.某个词的出现?更一般地说,有没有人有在一个网站上处理CMS和静态页面的经验?或者这是自找麻烦吗?

这就是RewriteCond派上用场的地方

# make sure no rewriting is done for requests without www
RewriteCond %{HTTP_HOST} !^domainname\.com
RewriteCond %{REQUEST_URI} !^/?content/
RewriteRule ^ index.php [L]

# later on...
# don't want this rule to apply for non-www requests either
RewriteCond %{HTTP_HOST} !^domainname\.com
RewriteRule ^/?content/(.+)$ http://domainname.com/ftp/pages/$1.html [L]
我想这就是你想要的?如果您实际上不关心www,那么可以完全消除%{HTTP_HOST}条件。只要您在drupal重写上保持
%{REQUEST\u URI}
条件,这两个规则仍然可以共存,因此drupal重写显式地不适用于以/content/前缀开头的URI