【问题标题】:Writing if else conditions in htaccess file在 htaccess 文件中写入 if else 条件
【发布时间】:2011-08-19 06:45:08
【问题描述】:

我正在尝试使用 htaccess 重写需要使用 if else block 或任何其他来重写以下 url:

对于这个 url http://domain.kp/subdirecory/productname,我可以完美地重写,但是当我尝试只重写 http://domain.kp/subdirecory/ 时,它会使用以下给定的路由参数进行重写,但是当我们在 url 中有产品名称时,应该考虑路由参数。

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

RewriteEngine On
RewriteBase /

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

【问题讨论】:

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


    【解决方案1】:

    我不确定您将第二条规则放在哪里,但规则的顺序确实很重要。如果您将以下规则放在当前规则之前,它应该将所有请求重定向到单个目录。

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

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      相关资源
      最近更新 更多