URL重写和GET值

时间:2016-03-05 21:09:42

标签: php .htaccess url-rewriting

我知道有很多关于此的答案,但我不明白为什么它对我不起作用。

我希望每个网址都像:

http://mywebsite.com/campagne/blabla

重定向到

http://mywebsite.com/campagne.php?c=blabla

这是我的.htaccess文件:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule campagne/(.+)$  campagne.php?c=$1 [QSA,L]   [L]

网址被重定向到campagne.php,但未发送$ _GET ['c']。

你能帮帮我吗?我找不到有什么问题?它可以在我的本地服务器上运行,但不能在线运行。

1 个答案:

答案 0 :(得分:1)

这是因为在Apache中启用了MultiViews选项。将此行放在.htaccess的顶部以将其关闭:

Options -MultiViews

MultiViews使用选项Apache's content negotiation modulemod_rewrite之前运行,并使Apache服务器匹配文件扩展名。因此/file可以在网址中,但它会投放/file.php