2016-07-01 6 views
1

私は新しいワードプレスサイトexample.comを持っています。古いDrupalサイトはarchive.example.orgにアーカイブされています。古いサイトの多くのファイルにはそういうURL(例:example.org/files/foo.pdf)がありましたが、インターネットにあるこれらのリンクはすべて、ファイルのダウンロードをarchive.example.org/files/foo.pdfにリダイレクトする必要があるため、壊れています。WordPressすべてのファイルダウンロードをサブドメインにリダイレクト

リダイレクト(私は.htaccessが最善の策だと思っています)を作成すると、ファイルのダウンロードもできますか?すべての古いリンクをアーカイブサブドメインに送る簡単なリダイレクトはありますか?

私が試してみました:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^/files/ 
RewriteRule^http://archive.example.org%{REQUEST_URI} [R,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
# END WordPress 

を...これまで運で。

ありがとうございました!

+0

mod-rewriteが有効になっていますか? – starkeen

答えて

1

新しいドメインにすべてfiles/*要求をリダイレクトし、ワードプレスから他のすべてを維持したい場合、あなたはすべてがそれが必要として働いていたときfiles

RewriteCond %{REQUEST_URI} ^/files/ 
RewriteRule^http://archive.example.com%{REQUEST_URI} [R,L] 

をチェックするルール、条件を必要とする、あなたは、 Rの代わりにR=301を使用してください。 R=301でテストしないでください。

+0

助けてくれてありがとう!私はまだリダイレクトが有効になっているのを見ていないので、完全な '.htaccess'ファイルで質問を更新しました。 –

+1

これは、 'RewriteCond%{REQUEST_FILENAME}!-f'のために、リクエストがすでに第2のルールによって処理されているためです。ルールを最初に動かすと効果があります。 –

+0

これは 'If'の中で' RewriteEngineOn'の権利の後にある必要がありますか?私は、私が現在持っているものでポストを更新しましたが、まだ変更はありません。 –

関連する問題