使用htaccess获取变量

时间:2016-03-30 13:19:52

标签: .htaccess mod-rewrite

我的htaccess中有这个

Options -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^associato/([0-9]+)/(.*)$ associato.php?idassociato=$1 [QSA,L]

但是当我试着去的时候:

http://www.mydomain.it/associato/1/a

页面associato.php被称为correcty,但是

$idassociato = $_GET['idassociato'];
echo $idassociato;

什么都不返回......我做错了什么?

2 个答案:

答案 0 :(得分:0)

您需要在服务器上停用multiviews,请尝试:

Options -Multiviews
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^associato/([0-9]+)/(.*)$ associato.php?idassociato=$1 [QSA,L]

答案 1 :(得分:0)

如果您使用的是Debian,请禁用MultiViews选项。

请参阅https://serverfault.com/questions/83380/apache-extensionless-urls-get-an-automatic-php-extension

你得到这个的原因是,当你访问/associato.php时,Apache会尝试/associato/1/a,因此将/1/a划分为pathinfo。但是404失败的原因远不如我所知。