.htaccess URL 如果参数不存在则重写

.htaccess URL Rewrite if a parameter is not exist

下面是我用来 url 在我们的 .htaccess 文件中重写的代码

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule pages/(.*)/? /page/index.php?name= [NC,L]

从上面的代码中,如果 url 是 www.example.com/pages/2 那么实际上它会转到 url www.example.com/page/index.php?name=2

但我也想要这样的东西:如果页面请求是 www.example.com/pages/2/user/rahul 那么它也应该去相同的 url www.example.com/page/index.php?name=2&user=rahul

所以做上面的事情我做了这样的事情:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule pages/(.*)/? /page/index.php?name= [NC,L]
RewriteRule pages/(.*)/user/(.*)/? /page/index.php?name=&user= [NC,L]

但它并不像我想要的那样工作。

尝试:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteRule ^pages/([^/]+)/user/([^/]+)/?$ /page/index.php?name=&user= [NC,L]

RewriteRule ^pages/([^/]+)/?$ /page/index.php?name= [NC,L]