2009-04-28 10 views
2

URLの単語を置き換えるには.htaccessファイルを使用する必要があります。.htaccessリダイレクトした後に単語を置き換えますか?

例URL:このような何か

http://example.com/oldword/test-page.html 

リダイレクトへ:

http://example.com/newword/test-page.html 

どのようにしていることを交換した後、同じURLに/ oldword/を含むすべてのURLをリダイレクトするためのmod_rewriteを使用することができますワード?

答えて

8

これはあなたのためにそれを行う必要があります。

RewriteRule ^oldword/(.*) /newword/$1 [L] 

編集を:それはあなたでRewriteBaseの設定によっては、正確に動作しない場合がありますが、それは近いでしょう。

第二編集:あなたは301が恒久的に移動させる必要がある場合、あなたは同様にこのような何かを行うことができ、古いURLに関連付けられたヘッダ:

RewriteRule ^oldword/(.*) /newword/$1 [R=301,L] 
1

はこちらを参照してください。

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/
RewriteRule ^oldword(.*)$ http://%{HTTP_HOST}/newword$1 [L] 
</IfModule> 

チャオあなたが目を取り囲んでいるかに依存しないリダイレクトすることができ、

クリス

+0

zombatのように、プロトコル、ホスト、ポートの部分を離れた方が良いです。さらに、あなたのルールは '/ oldword-and-some-more'を'/newword-and-some-more'にリダイレクトするでしょう、そして、私はそれがchiafが望んでいたとは思いません。 – Gumbo

0

この方法あなたが置き換えたいe 'oldword':

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/

    # Replace 'oldword' with 'newword' and 301 redirect 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)oldword(.*)$ /$1newword$2 [L,R=301] 
</IfModule> 
関連する問題