【问题标题】:logic if...else in htaccess逻辑 if...else 在 htaccess
【发布时间】:2013-10-13 16:10:19
【问题描述】:

我想在 ozill.*$ 时重定向到 LogIn.php 并为其他人重定向到 index.php。

RewriteCond %{HTTP_USER_AGENT} ozill.*$
RewriteRule ^(.*)$ LogIn.php?route=$1&vivo=%{HTTP_USER_AGENT} [L,QSA]

像这样

RewriteCond %{HTTP_USER_AGENT} ozill.*$
RewriteRule ^(.*)$ LogIn.php?route=$1&vivo=%{HTTP_USER_AGENT} [L,QSA]

RewriteCond %{HTTP_USER_AGENT} MSIE.*$
RewriteRule ^(.*)$ index.php?route=$1&vivo=%{HTTP_USER_AGENT} [L]

如何让代码更好?

【问题讨论】:

  • 为什么,有什么问题?不行吗?
  • 他在工作。只是想找到一个替代方案。我只是使用了一个原始示例.. 如果搜索很多行,那么这种技术不适合

标签: php regex apache .htaccess mod-rewrite


【解决方案1】:

这是您在 mod_rewrite 中放置 if/else 条件的方式:

RewriteCond %{HTTP_USER_AGENT} ozill [NC]
RewriteRule ^(.*)$ LogIn.php?route=$1&vivo=%{HTTP_USER_AGENT} [L,QSA]

RewriteCond %{HTTP_USER_AGENT} !ozill [NC]
RewriteRule ^(.*)$ index.php?route=$1&vivo=%{HTTP_USER_AGENT} [L,QSA]

即在第二条规则的匹配模式前用! 否定条件。

【讨论】:

  • 谢谢@RaviThapliyal,不客气,米歇尔。
猜你喜欢
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 2011-03-24
  • 2012-05-17
  • 2015-10-12
相关资源
最近更新 更多