重写一个url模式来调出同一个文件(.htaccess)?

时间:2015-02-11 00:19:33

标签: .htaccess mod-rewrite

我有几十个不同的页面。 每个页面包含两个类似模式的链接 -

示例:

fruits.php包含以下链接:

  1. /foo/fruits/abc
  2. /foo/fruits/xyz
  3. magnets.php包含以下链接:

    1. /foo/magnets/abc
    2. /foo/magnets/xyz
    3. 目前我正在使用其他.php文件来处理这些链接,因此我的.htaccess看起来像:

      RewriteRule ^foo/fruits/abc/?$ /web/fruits1.php [L]
      RewriteRule ^foo/fruits/xyz/?$ /web/fruits2.php [L]
      RewriteRule ^foo/magnets/abc/?$ /web/magnets1.php [L]
      RewriteRule ^foo/magnets/xyz/?$ /web/magnets2.php [L]
      

      相反,我希望我的.hatccess调用相同的process.php文件来处理上述两种模式中的所有这些链接:

      /foo/(variable)/abc/& /foo/(variable)/xyz/

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式匹配来允许URI中的动态值,并且只需一个规则即可满足您的要求:

RewriteRule ^foo/\w+/\w+/?$ /web/process.php [L,NC]