如果之前已经回答过,请道歉。我到处搜索,我找不到合适的解决方案。
我正在使用opencart重写模块来获得更好的网址:
RewriteBase /
RewriteRule sitemap.xml /index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) /index.php?_route_=$1 [L,QSA]
我还有一个我想要访问的目录(电子邮件)作为标准。我知道上面的2条RewriteCond行将允许任何目录和/电子邮件工作正常。
这是UNTIL我用密码保护cPanel中的emailer文件夹,然后在emailer文件夹中创建以下.htaccess:
AuthType Basic
AuthName "emailer"
AuthUserFile "/home/mywebsit/.htpasswds/public_html/emailer/passwd"
require valid-user
然后我突然得到页面未找到错误。如果我删除这个新的.htaccess它工作正常。我试过添加一行
RewriteEngine off
进入它,但它仍然不想知道。
我做错了什么?我之前已经解决了这个问题,最后删除了原来的.htaccess文件,因为我浪费了太多时间试图让它工作。
答案 0 :(得分:0)
您可以尝试在电子邮件文件夹中启用上的重写引擎。打开它将使电子邮件htaccess中的任何规则优先于父文件夹中的规则。由于电子邮件htaccess文件中没有规则,因此不会应用任何规则:
RewriteEngine On
然后没有其他重写规则。
答案 1 :(得分:0)
在DocumentRoot / .htaccess中尝试此代码:
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap\.xml /index.php?route=feed/google_sitemap [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/emailer/ [NC]
RewriteRule ^(.+)$ /index.php?_route_=$1 [L,QSA]