0

我正在尝试mod_rewrite在内容目录中查找文件并在找不到它时调用我的 CMS,但我无法让它工作。我在这里尝试了几个类似问题的答案,但似乎没有一个能正常工作。

我的.htaccess文件如下所示:

RewriteEngine on
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/content/$1 -f
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/content/$1 [QSA,L]

RewriteRule ^.*$ index.php [QSA,L]

我认为将[L]后缀添加到我的第一条规则意味着它不会执行进一步的规则,但无论文件是否存在,它似乎都会调用我的 CMS。如果我注释掉第二条规则,则会返回文件,但显然不是 CMS。我也尝试添加

RewriteCond %{DOCUMENT_ROOT}/content/$1 !-f

在第二条规则之前,但它似乎没有任何区别。

我还想检查目录是否存在(即-d),但我还没有放入该代码,因为我什至无法让文件工作!

谢谢!

4

1 回答 1

2
RewriteEngine on
RewriteBase /

RewriteRule ^content/ - [L]

RewriteCond %{DOCUMENT_ROOT}/content/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/content/$1 -d
RewriteRule ^(.*)$ /content/$1 [L]

RewriteRule ^.*$ index.php [QSA,L]
于 2012-05-12T17:55:31.643 回答