0

Apacheのhtaccess

私はこのURLを持っています:

mydomain.com/old.html

私はそれを次のように書き直したい:

mydomain.com/new.html

ただし、mydomain.com /old.htmlが常にmydomain.com/new.htmlにリダイレクトされるようにする必要もあります。

私は次のことを試しました:

RewriteRule ^/new.html /old.html [R=301,L,PT] 

しかし、それは機能しません。

4

2 に答える 2

0
Redirect 301 /old.html http://www.yoursite.com/new.html

動作するはずです。

于 2012-09-08T10:18:36.673 に答える
0

htaccessファイルでルールを適用するときにURIから削除されるため、先頭のスラッシュを削除します(またはオプションにします)。

RewriteRule ^/?new.html /old.html [R=301,L,PT] 

これは、すべてが1つのモジュール(mod_rewrite)内で行われるように、他の書き換えルールと連携して機能する必要がありますが、mod_rewriteが必要ない場合は、代わりにmod_aliasに依存できます(mod_rewriteリダイレクトを削除します)。

Redirect 301 /old.html http://www.yoursite.com/new.html

しかし、これは次のようなものをリダイレクトします:/old.html/blahblahhttp://www.yoursite.com/new.html/blahblahそれを望まない場合は、以下を使用します:

RedirectMatch 301 ^/old.html$ http://www.yoursite.com/new.html
于 2012-09-08T15:15:22.410 に答える