我有一个非常简单的重写规则,它的工作意味着重写有效,但参数没有到达目标页面。
每个页面都有一个部分,标题和ID。
url在名称中有破折号,我使用下划线分隔符来分隔id。
部分名称为hypnose
标题是Hoe-werkt-hypnose
ID为4
重写规则:
RewriteRule ^hypnose/([^/.]+)_([^/.]+).php$ hypnose.php?title=$1&id=$2 [L]
我正在使用的网址
hypnose/Hoe-werkt-hypnose_4.php
答案 0 :(得分:0)
您需要关闭MultiViews
选项:
Options -MultiViews
RewriteEngine On
RewriteRule ^hypnose/([^/_]+)_([^/.]+)\.php$ hypnose.php?title=$1&id=$2 [L,QSA,NC]
MultiViews
使用选项Apache's content negotiation module
在 mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此/file
可以在网址中,但它会投放/file.php
。