サーチ…


PHPのスクリプトにファンタジーURL

この例では、 http://example.com/topic/id-seonameという形式のURLを、入力としてIDをとるPHPスクリプトに書き換えます。この例では、ルールが「ディレクトリごと」のコンテキストになることが必要です。

RewriteEngine on

RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]

この例では、 topic/はすべてのトピックの共通接頭辞です。それには、スクリプトによって使用される番号が続きます。最後に、SEO名が表示されます。このseoの名前はmod_rewriteによって無視されます。なぜなら、seoの理由からです。 RewriteRuleの第2引数には、書き換え先のURLが含まれています。プレースホルダ$1は、その前の正規表現内の最初の取得グルー​​プの内容に置き換えられます。この場合、 ([0-9]+)と一致するものに置き換えられます。

phpスクリプトへのクエリ文字列を含むURL

クエリ文字列を照合するには、条件をRewriteRule追加する必要があります。これは、 RewriteCondディレクティブを対応するルールの前に置くことによって行われます。次の例では、古いURLを新しいURLに動的に内部的に書き換えます。

RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]

リテラルドットと一致するには、スラッシュでエスケープする必要があることに注意してください。 %1は前の条件の最初の取得グルー​​プに置き換えられます。この場合、 ([^&]*)マッチしたものに置き換えられます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow