0

1つの変数を使用して$_GETを保持し、index.phpを介してすべてのリクエストを再ルーティングしたいと思います。$ _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を開こうとすると、404NotFoundが表示されます。

4

1 に答える 1

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