url重写在本地但不在服务器上工作

时间:2015-04-13 18:55:11

标签: php html .htaccess

RewriteEngine on
Options +FollowSymlinks    

RewriteRule ^index\.html$  index.php [L]

RewriteRule ^gallery/([0-9]+)/([a-zA-Z0-9-_]+)/$   gallery.php?pid=$1&urln=$2 [L]

在localhost pid = $ 1工作正常但在服务器(OVH)上我得到一个空值。网址工作正常,我到达gallery.php

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

试试这个:

Options +FollowSymlinks -MultiViews   
RewriteEngine on

RewriteRule ^index\.html$ index.php [L,NC]

RewriteRule ^gallery/([0-9]+)/([\w-]+)/$ gallery.php?pid=$1&urln=$2 [L,QSA]