if-else条件在htaccess中用于admin和open cart中的前端


if else condition in htaccess for for admin and frontend in open cart?

我有.htaccess,我想要301 redirect。所以当我在.htaccess中添加301重定向代码时,它可以正常工作,但我无法登录到我的后端。但如果我删除这个代码,它就可以正常工作。我只是想让它在前端工作,但现在因为这个代码,我无法登录到后端。

这是代码

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

现在我想要if-else条件或帮助我解决这个错误的东西,这个错误只适用于我的开放式购物车网站的前端,管理员保持原样,没有重定向。

我的所有代码前面总是用RewriteEngine On。这些指令告诉如果不是管理员/*区域,则继续执行RewriteRule

RewriteCond %{HTTP_HOST} !^www'.
RewriteCond %{REQUEST_URI} !^admin/
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

此代码必须排除所有管理员/**。(ico|gif|jpg|jpeg|png|js|css)URL:

RewriteCond %{HTTP_HOST} !^www'.
RewriteCond %{REQUEST_URI} !^admin/
RewriteCond %{REQUEST_URI} !'.(ico|gif|jpg|jpeg|png|js|css)$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

无论如何,您仍然可以尝试使用此代码将所有非www重定向到wwwURL,但不要忘记在"config.php"管理映射中添加一些www.

RewriteCond %{HTTP_HOST} !^www'.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

在检查之前,请始终清除浏览器缓存或使用其他缓存,因为一旦浏览器被[R=301]永久重定向到错误的地址,如果你继续更改不稳定的规则,你的浏览器仍将被重定向到旧地址,因为你的浏览器仍然在缓存它。