RewriteCond不会在结束时停止.. /示例将起作用...但是示例/ anotherlink不行

时间:2010-08-24 20:04:40

标签: apache .htaccess mod-rewrite

对某些人来说,这可能不是一件容易的事,但我试图在.htaccess文件中指定一些RewriteCond而且我的失败很严重。

继承我所拥有的:

RewriteCond %{REQUEST_FILENAME} employee   [NC]
RewriteRule ^(.*)$ /resources/employee [L,R=301]

将重定向正常...但如果我包含任何其他包含'employee'的规则:

RewriteCond %{REQUEST_FILENAME} employee/another   [NC]
RewriteRule ^(.*)$ resources/employee/another [L,R=301] 

它将我重定向到第一条规则:/ resources / employee

我尝试了很多变化,但没有运气。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

RewriteCond使用正则表达式,并搜索您的值。要确保它只匹配整个字符串,请使用^$

RewriteCond %{REQUEST_FILENAME} ^employee$ [NC]

答案 1 :(得分:1)

RewriteCond %{REQUEST_FILENAME} employee   [NC]

将匹配员工中的任何内容,尝试使用一些锚定,例如文件名的开头和结尾或类似:

# Match everything that starts with /employee, might be followed by a slash and then ends
RewriteCond %{REQUEST_FILENAME} ^/employee/?$   [NC]