使mod_rewrite传递多个参数

时间:2017-03-06 15:51:02

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

我想在php中写url-rewrite需要make这样的url store / {stre-name}?offer = 10例如见下面

/stores/mango?offer=10

/stores/apple?offer=10

我写了.htacess为

RewriteRule ^stores/(.*)$ offer.php?c=$1&offer=$2 [L]

并将offer.php上的代码写为

$c = $_GET['c'];
$offer = $_GET['offer']

我已经成功获得了c的价值,但我没有在这里得到的价值。所以,请帮助我如何阅读offer.php中提供的价值

RewriteRule ^stores/(.*)$ offer.php?c=$1&offer=$2 [L]

3 个答案:

答案 0 :(得分:0)

如果您想使用旧的queryString将 / store / mango /?offer = 10 重写为 /offer.php?c=mango ,则需要使用QSA在您的规则中标记组合新旧queryStrings

RewriteRule ^store/(.+)/?$ /offer.php?c=$1 [QSA,L]

答案 1 :(得分:0)

这对你有用。

      RewriteRule ^store/([^/]*)/([^/]*)$ /offer.php?c=$1&offer=$2 [L]

您也可以尝试制作SEO友好网址

      RewriteRule ^store/([^/]*)?([^/]*)\.html$ /offer.php?c=$1&offer=$2 [L]

答案 2 :(得分:0)

此代码对我有用:

RewriteRule ^stores/(.*)?([^/]*)$ offer.php?c=$1&offer=$2 [QSA,L]  

对于此网址:

/stores/mango?offer=10