我有一个使用seo网址的modx网站。像魅力一样。
现在我希望现有目录中的现有文件能够正确显示aswel,但我正在接收默认的modx 404页面。
modx,网站本身位于webroot中,并使用以下.htaccess
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]
RewriteCond %{HTTP_HOST} ^foo\.com
RewriteRule ^(.*)$ http://www.foo.com/$1 [R=permanent,L]
# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets|update)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
更新目录是我现有文件所在的位置www.foo.com/update/index.html
在更新目录中,我使用以下内容:
RewriteEngine Off
<IfModule mod_security.c>
# Turn the filtering engine Off
SecFilterEngine Off
</IfModule>
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /home/domains/foo.com/.htpasswd/public_html/update/.htpasswd
AuthName "login"
require valid-user
如您所见,此子目录也受密码保护。但我怀疑这与我的问题有关。事实上,我已经对它进行了修改......但到目前为止还没有成功。
答案 0 :(得分:0)
我认为
RewriteRule ^(manager|assets|update)/*$ - [L]
应该是
RewriteRule ^(manager|assets|update)/.*$ - [L]
或只是
RewriteRule ^(manager|assets|update)/ - [L]
在您的规则中*
适用于/
,因此它匹配'零个或多个正斜杠'