【发布时间】:2015-01-13 13:30:52
【问题描述】:
我们的 .htaccesss 文件具有以下规则,这些规则会影响对我们管理页面的访问。
规则设置为允许以下内容:
http://www.example.com/en-gb/section/product/
#Most pages are caught by this so we can use the translated token stored in cms rather than having to fix here
RewriteRule ^([a-zA-Z]{2})-([a-zA-Z]{2})/([a-zA-Z0-9\-_]+)(/?)$ index.php?html/pages/$3 [L,NC]
#Product pages
RewriteRule ^([a-zA-Z]{2})-([a-zA-Z]{2})/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)(/?)$ index.php?html/pages/$4 [L,NC]
#Product subscription pages
RewriteRule ^([a-zA-Z]{2})-([a-zA-Z]{2})/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)(/?)$ index.php?html/pages/$5 [L,NC]
不幸的是,这会影响管理页面,例如http://www.example.com/en-gb/admin 正在触发 404。
基本上,如果路径包含/admin,有什么办法可以忽略上述规则?
我在 RewriteRule 之前尝试过 RewriteCond,但它似乎不起作用。
干杯!
【问题讨论】:
-
查看您的规则,
/en-gb/admin不应与之匹配,因为您将第三个参数设置为强制。你还有其他规定吗? -
@JustinIurman 抱歉,这只是一个例子。似乎有 3 条规则正在影响它。我已经更新了原帖。
标签: php apache .htaccess mod-rewrite