通过.htaccess将URL参数传递给php文件

时间:2017-07-21 14:53:17

标签: php apache .htaccess url-rewriting

我需要通过.htaccess传递URL和所有参数以获取其他php文件。例如:

网址:abc.com/article/test1/test2/test3/?param1=1&param=2

.htaccess文件

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ router.php?q=$1 [NC]

  </IfModule>

router.php

echo $_GET['q'];

我的输出为article/test1/test2/test3/

但我需要输出article/test1/test2/test3/?param1=1&param=2

2 个答案:

答案 0 :(得分:0)

将规则行更改为

RewriteRule .* router.php [END]

您正在寻找的所有信息都在PHP中$_SERVER['REQUEST_URI'],您可以根据需要进行解析。

答案 1 :(得分:-1)

问题是您的重写规则没有保留参数,您需要在规则中添加[R=302,L]