0
異なるApacheリダイレクトを組み合わせようとしています。私はちょうどL
のastフラグを取り除くと思っていましたが、それはしませんでした(How to combine Apache redirects?参照)。 >www.example.org
- - >www.example.org/products/
別のApacheリダイレクトを組み合わせるにはどうすればいいですか?
しかし、私はむしろ
example.org
必要があるだろう - 遅延を回避するために>www.example.org/products/
をそれは、次の2つのランディングページは
example.org
をリダイレクトします。 、
#FORCE WWW with products
RewriteCond %{HTTP_HOST} ^example.org [OR]
RewriteCond %{REQUEST_URI} !^products
RewriteRule ^(.*)$ http://www.example.org/products/$1 [R=301]
# FORCE WWW
RewriteCond %{HTTP_HOST} !^www\.example\.org$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.example.org/$1 [R=301]
# REDIRECT FROM ROOT TO PRODUCTS(.PHP)
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^$ /products/ [R]
RewriteRule ^products/$ /products/products.php
# ADD TRAILING SLASH
RewriteRule ^(([^/]+/)*[^./]+)$ http://www.example.org/$1/ [R=301]
# INTERNAL REWRITE OF "products/myname/myversion/" to "products/products.php?name=myname&version=myversion"
RewriteRule ^products/([a-z0-9-]+)/([0-9-]+)/$ products/products.php?name=$1&version=$2 [NC]
RewriteRule ^products/([a-z0-9-]+)/$ products/products.php?name=$1 [NC]
感謝を削除します。ここでは
は.htaccess
ファイルです。しかし、それは動作しません。私はあなたのコードは、 'leading'の' www'がない場合にのみ 'products'フォルダ*にリダイレクトされると思います。 – Daniel編集をお試しください! –
もう一度ありがとうございます。 'example.com/products'は2番目の条件を満たしていないので、' www.example.com/products'にリダイレクトしないか、何か不足していますか?しかし、一般的な考え方はリダイレクトごとに1つの 'R'または' R = 301'フラグしか持たないということですか?だから、 'R(= 301)'ごとに、後に追加のリダイレクトを追加するかどうかにかかわらず、リダイレクトにつながるのだろうか? – Daniel