我的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;
什么都不返回......我做错了什么?
答案 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失败的原因远不如我所知。