mod_rewrite - 根据url路径规则

时间:2016-03-14 07:20:59

标签: regex apache .htaccess mod-rewrite

我在正则表达式上非常弱,我需要帮助执行以下操作的mod_rewrite规则:

  1. 如果网址只是域名: xyz.com - >转到目录a上的index.php,如此 xyz.com/a/index.php
  2. 如果网址包含路径: xyz.com/abcde - >转到目录b上的index.php并将路径更改为如下所示的参数: xyz.com/b/index.php?id=abcde
  3. 当然,目录a和b都在同一根目录下。

    我设法排名第二,但我不知道如何包含规则1.

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

RewriteEngine on
#--if url is just the domain name--#
#--rewrite to /a/index.php--#
RewriteRule ^$ /a/index.php [NC,L]

#--if it contains path--#
#--rewrite to /b/index.php?id=path
RewriteRule ^((?!b).+)$ /b/index.php?id=$1 [NC,L]