0

我想通过 index.php 使用一个变量重新路由所有请求并保留 $_GET。如果 $_GET 存在,它总是在第一个斜杠之后。第一个斜线之后不是 $_GET 的任何内容都应该被忽略。像这样的东西:

www.example.com/contact => www.example.com/index.php?page=contact
www.example.com/contact/ => www.example.com/index.php?page=contact
www.example.com/contact/?mod=add&id=4 => www.example.com/index.php?page=contact&mod=add&id=4
www.example.com/contact/ignore => www.example.com/index.php?page=contact

我对 .htaccess 不太好,所以我就做了这个(即使你确定它不是很好)

RewriteRule ^([^/\.]+)$ index.php?page=$1 [QSA,NC,N]
RewriteRule ^([^/\.]+)/$ index.php?page=$1 [QSA,NC,N,L]

第一部分工作正常,但我不知道如何制作“忽略”部分。如果我尝试打开 www.example.com/contact/ignore,我会得到 404 Not Found。

4

1 回答 1

1
RewriteRule ^([^/\.]+)/.*$ index.php?page=$1 [QSA,NC,N,L]
于 2013-03-15T14:18:20.600 回答