1

.htaccessを使おうとしていますが、この時点で少し迷っています。複数ページの書き換えはどうしたらいいのかしら。

RewriteRule ^your-order/$ /page1.php,page2.php,page3.php [L]

または私はこれを行う必要があります:

RewriteRule ^your-order/$ /page1.php [L]
RewriteRule ^your-order/$ /page2.php [L]
RewriteRule ^your-order/$ /page3.php [L]

また、ページにパラメータがある場合でもrewriteruleが実行されるかどうか疑問に思っていました。

 URL: page1.php?test=hello


RewriteRule ^your-order/$ /page1.php [L]
4

1 に答える 1

1

クエリ文字列パラメーターに関するあなたの質問から、実際には逆方向の書き換えの概念があると想定しています。最初の式は送信された URL (pageN.php) で、2 番目の式はリダイレクト先または書き換え先 (ご注文) です。その場合、必要なルールは 1 つだけです。

クエリ文字列パラメーターが存在する場合に特別なアクションを実行する必要がない限り (完全に別のページに移動するなど)、クエリ文字列を一致させる必要はありません。クエリ文字列はRewriteCondRewriteRule.

RewriteEngine On
# Rewrite page1, page2, page3 to your-order
# Add as many other pages as necessary separated by |
# The QSA appends any additional querystring to your-order
RewriteRule ^(page1|page2|page3)\.php your-order [L,QSA]

あなたのページが実際に末尾に番号が付いている場合 (私には疑わしい)、代わりに次の式を使用できます。

RewriteRule ^page[0-9]+\.php your-order [L,QSA]

どちらの場合でも、エンド ユーザーのブラウザを内部の目に見えない書き換えではなく、注文した URL にリダイレクトする場合は、次のように変更[L,QSA]します。[L,R,QSA]

于 2012-05-29T20:11:51.950 に答える