.htaccess - 仅当URL中存在字符串时才应用RewriteRule

时间:2016-03-29 13:40:46

标签: .htaccess

我的网址始终为http://www.domain.com/global/,但在/global/之后,城市或其他网页上可能会有cityfranchise的名称

例子是 http://www.domain.com/global/name-of-city 要么 http://www.domain.com/global/frnachise-then-name-of-city

现在我已经为这两个条件写了一些规则。他们正在工作

这就是我为http://www.domain.com/global/name-of-city

等网址所做的事情
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA]

以下是我为franchise所做的事情,包括网址

RewriteRule ^franchise-management-.([\w-]+)/?$ franchise.php?city=$1 [L,QSA]

但问题是第二个问题仅在第一个RewriteRule被评论时起作用,否则将始终应用第一个

我需要设置一些条件,检查url是否包含franchise然后执行RewriteRule for franchise,否则执行1st RewriteRule

由于

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]   
RewriteRule ^franchise-management/([\w-]+)/?$ franchise-management.php?city=$1 [L,QSA]
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA]