0

以下の書き直しがあります。

RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]

http://www.domain.com/news/1/new-event/

したがって、上記の URL は次のように書き換えられます。

http://www.domain.com/pagebase.php?pbid=3656&nid=1&title=new-event

これは完全に機能します。しかし、私は人々が入力できるようにしたい:

http://www.domain.com/newsをクエリ文字列なしで次のように書き換えます。

http://www.domain.com/pagebase.php?pbid=3656&nid=&title=

ただし、一致は失敗するため、404 エラーが発生します。とにかく、ルールを書き直して、最後の 2 つのクエリ文字列オプションをオプションにすることができますか? 複数の書き換えルールを使用して正しい順序で配置することはできましたが、1 つのルールで動作させることができるようにしたいと考えています。

4

1 に答える 1

2

2 つの書き換え規則を使用します。

RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]
RewriteRule ^/news$ /pagebase.php?pbid=3656&nid=&title= [QSA,L,I]
于 2013-02-28T23:06:55.163 に答える