从root .htaccess Rewrite_rule中排除子域名

时间:2014-06-21 02:27:59

标签: regex apache .htaccess mod-rewrite

我的网站上有Opencart脚本。在root .htaccess中,我有这些行到seo链接。

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

我有一个名为/ imei的子域名,但我无法访问它(我找不到404)。原因是上面代码的最后一行。如果我删除这一行,我可以访问/ imei,但Seo将被禁用为商店。

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

我的问题是如何在/ imei中排除RewriteRule?到目前为止,我在/ imei .htaccess尝试了几种类型的htaccess但是没有用!

任何想法将不胜感激:)

1 个答案:

答案 0 :(得分:2)

我假设您正在谈论您的网络根目录中的imei文件夹。

在这种情况下,请将您的最后一条规则更改为:

RewriteRule ^(?!imei)([^?]*) index.php?_route_=$1 [L,QSA]

(?!imei)是一个负面预测,用于检查路径是否以imei

开头

如果有效,请告诉我。 :)