私はmod_rewriteまたはRegexのどちらかを初めて使用します。したがって、私は次の問題についてあなたの助けが必要です。
次のようなPHPページを取得しました。
stuff.php?id=1&text=2
私はのようになりたいことを知っています
stuff/2.html
htaccessのRewriteRule行をこのように見せることを念頭に置いている人はいますか?
よろしくお願いします!
私はmod_rewriteまたはRegexのどちらかを初めて使用します。したがって、私は次の問題についてあなたの助けが必要です。
次のようなPHPページを取得しました。
stuff.php?id=1&text=2
私はのようになりたいことを知っています
stuff/2.html
htaccessのRewriteRule行をこのように見せることを念頭に置いている人はいますか?
よろしくお願いします!
この特定のページの書き換えルール:
RewriteRule ^stuff/2\.html$ stuff.php?id=1&text=2
そして、2
動的でなければならない場合:
RewriteRule ^stuff/([0-9]+)\.html stuff.php?id=1&text=$1
少し説明:
^
と$
は文字列の開始と終了を表すため、一致しませんlongstuff/2.html.php
。\.
。そうしないと、正規表現 (「任意の文字」) で特別な意味を持つためです。$n
(with n
= キャプチャ グループの数、この場合は1
)として書き直されます。[0-9]
文字クラスで、クラスの 1 文字 (この場合は数字) に一致します+
「1つ以上」を意味しますリダイレクトstuff/2.html
先のルールはこちらstuff.php?id=1&text=2
RewriteRule ^stuff/([\d]+)\.html$ stuff.php?id=1&text=$1 [L]
通知[\d]+
は数字のみを受け入れます。文字とキャレットを許可する場合は、次のルールを使用します。
RewriteRule ^stuff/([\w-]+)\.html$ stuff.php?id=1&text=$1 [L]