【问题标题】:Pass a string number and redirect with htaccess传递一个字符串数字并使用 htaccess 重定向
【发布时间】:2019-01-30 19:08:35
【问题描述】:

我需要创建从一个域到另一个域的重定向,并使用该域传递字符串(仅数字),所以基本上:

domain1.com/aaa/11111 -> domain2.com/aaa.php?aaa=11111

domain1.com/aaa/22336 -> domain2.com/aaa.php?aaa=22336

等等。

我拥有的是:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^.*(/aaa/[0-9]+)/?$
RewriteRule ^(aaa/[0-9]+)/?$ http://domain2.com/aaa.php?%1 [R=301,L]

重定向正常,但结果是http://domain2.com/aaa.php?/aaa/12224,怎么弄成http://domain2.com/aaa.php?aaa=12224

【问题讨论】:

  • %1 指的是使用() 捕获的部分。只需将这些 () 放在不同的位置……
  • @deceze 谢谢你的指导。它现在按预期工作。

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


【解决方案1】:

你可以简化这个,你实际上并不需要那个条件,因为规则本身的模式已经负责计算:

RewriteEngine On
RewriteBase /
RewriteRule ^/?aaa/(\d+)/?$ http://domain2.com/aaa.php?aaa=$1 [R=301]

【讨论】:

    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多