我正在尝试让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
),但我还没有放入该代码,因为我甚至无法让文件工作!
谢谢!
答案 0 :(得分: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]