Movable TypeからWordPressにかなり大きい(5000+の投稿)を移行しています。この時点で、私は新しいサイトと一緒にライブになれば、古い投稿のURLが404の結果にならないようにしようとしています。Movable TypeからWordPressへの移行:htaccessリダイレクトの問題
古いURLパターンはそうのようになります。
http://domain.com/site/category/category/post_name.php
そして、私は、しかし、私が試したとhtaccessのリダイレクトを試してみました
http://domain.com/category/category/post_name/
にそれらをリダイレクトしたいのですが私が何をしても、それは失敗するか、500エラーを生成します。私は何かばかげた行方不明だと思うし、おそらくは矛盾するルールがあるかもしれないと思うし、私よりもhtaccessをよく知っている人が正しい道に沿って助けてくれることを願っている。
ここに私が今持っているものがあります。ルートディレクトリへの/ site /のリダイレクトはうまく動作しますが、他の2つは単独でも一緒にも影響しません。私は、特定の投稿をリダイレクトできるかどうかを両方調べてみましたが、それを手動で行いましたが、それでも動作しません。
RewriteEngine On
RewriteRule ^site/(.*) /$1 [NC]
RewriteRule ^site/resources/(.*).php$ /resources/$1 [NC]
RewriteRule ^site/resources/research/safe_urban_form_revisiting_the_relationship_b.php$ /resources/research/safe_urban_form_revisiting_the_relationship_b/ [NC]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
非常に便利です。あなたはこのようなリダイレクト何か使用することをお勧めしますように見えます
私は実際にそこにサイトと.php固有のルールの両方が必要です。これは動作しました: 'RewriteRule^site /(。+)\ php $ $ 1/[NC、R = 301、L] RewriteRule^site /(.*)/ $ 1 [NC]' *正しく動作するためには、 'RewriteBase /'ステートメントの後ろに置かなければなりませんでした。どうもありがとうございます! – sarah