.htaccess使用一个变量将所有内容重新路由到index.php并保留$\u GET

.htaccess使用一个变量将所有内容重新路由到index.php并保留$\u GET,.htaccess,variables,mod-rewrite,redirect,reroute,.htaccess,Variables,Mod Rewrite,Redirect,Reroute,我想通过index.php重新路由所有请求,只使用一个变量并保留$\u GET。如果存在$\u GET,它总是在第一个斜杠之后。在第一个斜杠之后不是$\u GET的任何内容都应该被忽略。 大概是这样的: www.example.com/contact => www.example.com/index.php?page=contact www.example.com/contact/ => www.example.com/index.php?page=contact www.examp

我想通过index.php重新路由所有请求,只使用一个变量并保留$\u GET。如果存在$\u GET,它总是在第一个斜杠之后。在第一个斜杠之后不是$\u 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不太在行,所以我只做了这个(即使是你,我也确信它不是很好)


第一部分工作正常,但我不知道如何使“忽略”部分。如果我试图打开www.example.com/contact/ignore,我会发现404没有找到。

RewriteRule^([^/\.]+)/.*index.php?page=$1[QSA,NC,N,L]
你就是那个人!你能把它贴出来作为我的答案吗?不客气。很高兴能帮上忙。
RewriteRule ^([^/\.]+)/.*$ index.php?page=$1 [QSA,NC,N,L]
RewriteRule ^([^/\.]+)/.*$ index.php?page=$1 [QSA,NC,N,L]