2

ユーザーがこの URL を入力できるようにしたいとしましょう。

www.website.com/blog/2453/I-gained-0.1%-more-scripting-knowledge-!

SEO効果を狙ってURLにタイトル情報を入れるようにしています。

また、クエリに ID を含めたいと考えています。事実上、ID を取得し、その後に続くタイトルを無視したいと思います。ユーザーが生成したテキストに特殊文字が含まれている可能性があることを念頭に置いてください。

サーバーが適切なGETデータを使用して次のように読み取るように、.htaccess書き換えルールを作成するにはどうすればよいですか。

www.website.com/blog.php?id=2453

これは私が試したことですが、率直に言って、私はここで私の深さから抜け出しています:

RewriteRule ^blog/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$  blog.php?id=$1 [NC,L]
4

1 に答える 1

1

.使用している書き換えルールは、URL にある、%、および!文字を除いて機能するはずです。これらの%文字は URL 構文で特別な意味を持つため、URL で使用するのは安全ではありません。感嘆符も使いません。

ID が常に数値になる場合は、([0-9]+)代わりに を使用し([A-Za-z0-9-]+)ます。

この URL を試してください:

www.website.com/blog/2453/I-gained-0.1-more-scripting-knowledge

このルールでは:

RewriteRule ^blog/([0-9]+)/[A-Za-z0-9\-\.]+/?$  blog.php?id=$1 [NC,L]
于 2013-03-19T18:09:15.313 に答える