将htaccess更改为干净URL后如何获取URL参数?

时间:2019-07-07 20:56:52

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

我已激活URL重写:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^publisher/([^/\.]+)/?$ /publisher.php?page=$1 [QSA]

我想通过$ _GET从此URL获取参数:

https://website.com/publisher/2/

当我执行以下操作时...

$id = $_GET["page"];

echo "ID:". $id;

...我的结果保持空白,没有输出

我尝试了以下步骤,已经推荐了其他社区成员:

Getting mod_rewrite to pass $_GET params?

为什么我不能在这里上车?预先感谢。

更新:添加后

Options -MultiViews

它可以正常工作,但是现在我遇到了另一个问题:每次我通过链接转到另一个页面时,都会得到300:多个选项。 https://website.com/test/-> 300:/test.php /

2 个答案:

答案 0 :(得分:0)

问题已解决:

将其放在您的第一行以及其他选项之前:

Options -MultiViews

答案 1 :(得分:-1)

此重写条件仅更改url而不更改数据。删除?php = $ 1,因为这只是url,不是真正的获取数据。

相关问题