htaccess转发但不使用参数

时间:2015-09-11 09:43:14

标签: regex apache .htaccess mod-rewrite

我有一个非常简单的重写规则,它的工作意味着重写有效,但参数没有到达目标页面。

每个页面都有一个部分,标题和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

1 个答案:

答案 0 :(得分:0)

您需要关闭MultiViews选项:

Options -MultiViews
RewriteEngine On

RewriteRule ^hypnose/([^/_]+)_([^/.]+)\.php$ hypnose.php?title=$1&id=$2 [L,QSA,NC]

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