在htaccess文件中写if else条件

时间:2011-05-05 10:46:31

标签: .htaccess mod-rewrite url-rewriting apache2

我试图用htaccess重写需要使用if else阻止或任何其他来重写下面的url:

对于这个网址http://domain.kp/subdirecory/productname我能够完美地重写但是当我尝试仅重写http://domain.kp/subdirecory/时,它会使用下面给出的路由参数重写,但是当我们有产品时应该考虑路由参数网址中的名称。

如果有人遇到过这类问题,请提供帮助

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

1 个答案:

答案 0 :(得分:0)

我不确定你放置第二条规则的位置,但规则的排序确实很重要。如果将以下规则放在当前规则之前,则应将所有请求重定向到单个目录。

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^\/]*)\/$ /other.php?_param_=$1 [L,QSA]

希望有所帮助。