5

WordPressサイトのパーマリンクを変更しました。

そして、私の古いリンクはそのようなものでした、

http://www.sitename.com/category/postname.html

今、新しいリンクは

http://www.sitename.com/category/postname/

古いリンクで404エラーが発生しますが、すべての.htmlページを.htaccessを使用して新しい非.htmlページにリダイレクトするにはどうすればよいですか?

4

3 に答える 3

9

ドキュメントルートのhtaccessファイルで、WordPressルールの前に次を追加します。

RedirectMatch 301  ^/([^/]+)/([^/.]+)\.html$ /$1/$2/
RedirectMatch 301  ^/([^/]+)/([^/]+)/([^/.]+)\.html$ /$1/$2/$3/

ホストによって制限する必要がある場合は、mod_rewriteを使用できます。

RewriteCond %{HTTP_HOST} sitename.com [NC]
RewriteRule ^([^/]+)/([^/.]+)\.html$ /$1/$2/ [R=301,L]

RewriteCond %{HTTP_HOST} sitename.com [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/.]+)\.html$ /$1/$2/$3/ [R=301,L]
于 2012-08-12T22:17:15.187 に答える
1

htaccessファイルに次のように入力します。

Redirect 301  /postname.html  http://www.sitename.com/category/postname/
于 2019-03-21T06:09:35.807 に答える
0

からの受け入れられた答え(上記)Jon Linは私にいくつかの問題を引き起こしました。これは私の結果であり、うまく機能し、もう少しコンパクトです。

パスにディレクトリがある場合とない場合の両方で機能します。

一発ギャグ:

RedirectMatch 301  ^/(.*)\.html$ /$1

または、ホストによって制限する必要がある場合:

RewriteCond %{HTTP_HOST} myDomain.com [NC]
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

例: ここに画像の説明を入力してください

于 2022-01-05T10:50:32.270 に答える