2011-10-19 13 views
7

リライトルールに問題が発生しました。提案を試みたが、私はまだ私が間違っていることを知らない。301リダイレクト用のRewriteRule

古いURLの301リダイレクトを新しいURLにリダイレクトしたいと考えています。例:任意のアドバイスは非常に

答えて

18

試してみてください。

RewriteRule ^abc\/(.+)$ http://www.example.com/index.php#first [L,R=301, NE] 
+0

このソリューションは宛先ページにリダイレクトされますが、「#」ではなくurlにリダイレクトされます。 '%23'と表示され、アンカーにスクロールしません。 – mooglife

+3

が解決策を見つけました。[NE]フラグも使用する必要がありました。これは次のようになります:^ abc \ /(。+)$ http://www.xyz.com/index.php#first [L、R = 301、NE] – mooglife

4

を高く評価している

RewriteEngine on 
RewriteRule ^\/abc\/(.+)$ http://www.xyz.com/index.php#first [L,R=301] 

あなたは、もちろん、 "mod_rewriteの" でそれを行うことができますが、この中:

old url : http://www.xyz.com/abc/topics.html 
new url : http://www.xyz.com/index.php#first 

私は.htaccessファイルに以下のルールをしようとしています状況は私があなたがより速く、よりシンプルであるようにmod_aliasを使用することをお勧めします(これを参照してください応答:mod_rewrite or mod_alias?

このように:

Redirect permanent /abc http://www.xyz.com/index.php#first 
+0

私はmod_aliasを経て、それが高速であるように、思えます。 xyz.com/abc/testはhttp://www.xyz.com/index.php#first/testにリダイレクトされます – mooglife