0

show.php という動的ページがあります。ページは動的で、URL は または のいずれshow.php?name=john-doeshow.php?category=studentです。

/show/john-doe.htmlURLを名前または/show/student.htmlカテゴリに変換する書き換えルールを作成しようとしています。

これは、これまでの.htaccessにあるものです。

RewriteRule ^show/([^/]*)\.html$ show.php?name=$1 [L]
RewriteRule ^show/([^/]*)\.html$ show.php?category=$1 [L]

現在、名前ルールのみが機能しますが、カテゴリ ルールは機能しません。どうしたの?

4

1 に答える 1

0

問題は、すべての show/xxx.html を同じ URL (最初の URL) に送信していることです。両方の書き換えルールがまったく同じパラメーターを使用しているため、最初のルールのみが機能します。

これは 2 つの異なる方法で解決できます。

show.php?id=xxx を使用し、PHP で名前とカテゴリの両方を受け入れ、表示するページを決定します。

または、リライトで 2 つの異なるタイプの URL を使用して、次のように show/category/student.html と show/student/john-doe.html を取得します。

RewriteRule ^show/student/([^/]*)\.html$ show.php?name=$1 [L]
RewriteRule ^show/category/([^/]*)\.html$ show.php?category=$1 [L]
于 2011-01-29T10:24:00.323 に答える