htaccess mod_rewrite如何重写空变量

时间:2010-02-26 14:40:06

标签: .htaccess mod-rewrite

我尝试创建一个重写的htaccess文件,例如 /index.php?type=car&model=audi&color=990000&year=1995 /的网址索引/汽车/奥迪/1995分之990000

目前我使用以下内容:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+) $1.php?type=$2&model=$3&color=$4&year=$5

问题是,当你填写所有变量时它可以正常工作,但当你想要所有汽车来自“奥迪”并保持颜色和年份为空时,页面会崩溃。如何更改mod以使页面不会崩溃并且他在PHP中获得正确的变量?

1 个答案:

答案 0 :(得分:0)

乍一看,我会将规则中的+更改为*。 +表示一个或多个*而*表示零或更多。此外,您可能需要制作/ optional。

编辑: 试试这个:

RewriteRule ^([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*) $1.php?type=$2&model=$3&color=$4&year=$5