2010-12-08 16 views
0

WordPressで新しいサイトを立ち上げていますが、私の古いリンクをすべて有効にしたいと思います。これを可能にするために私は現在のサイトをサブディレクトリ(/ oldsite)に移動し、rootに新しいwordpressサイトを直接インストールしました。 http://example.com/stories/read/4231/some-story-title特定のリクエストをhtaccessを使ってSubdirにリダイレクト

が自動的

http://example.com/oldsite/stories/read/4231/some-story-title

同じににリダイレクトされます。

にはどうすればいいように/ oldsiteディレクトリに古いパスのスタイルにマッチする任意のURLをredirectinに行きますか

のような他の多くのドメインパターンの場合がhttp://example.com/oldsite/exclusivesになりました。

rootの私のWordPressインスタンスに依存するため、すべてのリクエストを/ oldsiteディレクトリに入れることは望ましくありません。

.htaccessはまだ私にはやや秘密ですので、私はどんな方向にも感謝します。

+0

[R=301,L]を追加oldsiteフォルダから

を実行します試してみてくださいリクエストの種類はリダイレクトしたいですか? – Gumbo

+0

申し訳ありません、私は分かっていません。私は、古いコンテンツが現在存在するサブディレクトリに古いコンテンツを期待しているサイトにすべての訪問者をリダイレクトしようとしています。 – Aristotle

+0

リダイレクトする必要があるパスとそうでないパスを区別するにはどうすればよいですか?そのためのパターンはありますか?共通の接頭辞または何か他のもの? – Gumbo

答えて

0

次のようなものが動作するはずです。

RewriteCond %{REQUEST_URI} ^/(stories|exclusives)/ [NC] 
RewriteRule .* /oldsite/%1 [R=301,L] 
+0

これは簡単に見えます。あなたは '[NC]'、 '[R]'、 '[L]'について説明できますか? – Aristotle

+1

NCは大文字小文字を区別しません.Rはリダイレクトします(301はリダイレクトHTTP応答コードを使用します)。Lは「最後のルール」です。このリクエストのルールを一致させるのをやめてください。すべてのオプションはこちら - http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule –

0

は、それが実際にリダイレクトされませんこの1

RewriteCond %{HTTP_HOST} ^(example.com)$ [NC] 
RewriteRule ^(.*)$ /oldsite/%2%{REQUEST_URI} [QSA,L] 

が...それは内部的にuがリダイレクトしたい場合は、次に何を次にRewriteRule

関連する問題