2

いくつかの答えを見つけましたが、どれも私の問題に答えられないようです。私のサーバーでは、資産提供に非 www を使用しており、www サブドメインは bigcartel ストアに名前が付けられています。私がやろうとしているのは、ファイルが見つかった場合は非 www ページからファイルを提供することです。それ以外の場合は、元の要求で www サブドメインにリダイレクトします。

例:アセット サーバーに存在redirect domainname.com/product-namewww.domainname.com/product-nameないため。

私は次のことを試しました; しかし、私は運がありませんでした。

RewriteEngine On
RewriteBase /

# do not do anything for already existing files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^domainname\.com [NC]
RewriteRule (.*) http://www.domainname.com/$1 [R=301,L]
4

1 に答える 1

0

論理条件が逆になっています。条件が次の場合にリダイレクトしているようです: 要求されたリソースは既存のファイル、既存のシンボリック リンク、または既存のディレクトリです。あなたはそれの反対が欲しい:

RewriteEngine On
RewriteBase /

# do not do anything for already existing files
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^domainname\.com [NC]
RewriteRule (.*) http://www.domainname.com/$1 [R=301,L]
于 2013-01-23T18:12:18.897 に答える