Mod_rewrite - 有时带有查询,有时没有

时间:2014-01-13 16:50:27

标签: regex apache .htaccess mod-rewrite url-rewriting

我的网址目前看起来像这样:

我试图让theese网址看起来像这样:

使用此代码:

RewriteRule ^editprofile/([^/]*)/([^/]*)$ /editProfile.php?id=$1&programme=$2 [L]

然而,只有第一个(1/3)有效。当删除查询(程序或id)时,它不会。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

这是正则表达式问题。试试这个:

RewriteRule ^editprofile(?:/([^/]+)(?:/([^/]*))?)?/?$ /editProfile.php?id=$1&programme=$2 [L]