私は以前は.html URLを持つサイトを持っていましたが、.html拡張子なしでURLSを更新しました。 URLが変更されたページもあります。だから私がやろうとしているのは、すべての.htmlページを.html以外のページにリダイレクトすることですが、特定のURL(URLが変更されたページ)にリダイレクトしようとしているページもあります。いくつかの特定のURLを除くすべての.html URLを正しくリダイレクトする方法
私はこれを通じてかなりパーマリンクにすべての.htmlをリダイレクトすることができています:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.html$ /$1 [R=301,L]
そして、これを介して特定のページにいくつかの単一のページをリダイレクト:
redirect 301 /xxx/yyy.html /yyy/
作品上記の両方が、一部のリダイレクトルールは次のように動作しません。
redirect 301 /information/sub-category/65-xxx.html /sub-category/xxx/
redirect 301 /blog/item/i-am-a-post.html /i-am-a-post/
私には必要なものはありますかoさらに追加しますか?
redirect 301 /xxx/yyy.html /yyy/
redirect 301 /information/sub-category/65-xxx.html /sub-category/xxx/
redirect 301 /blog/item/i-am-a-post.html /i-am-a-post/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)\.html$ /$1 [R=301,L]
# 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
編集:私の現在の.htaccessファイルには、これを持っている私は、単一のリダイレクト後のRewriteCondを移動した、それはまだ同じことをやっています。キャッシュがクリアされました。
'/ xxx/yyy.html'に対するリクエストはこれまでにないでしょう - ' .html'で終わる_all_リクエストをリダイレクトしたのですでに前に... – CBroe
301の後にすべての.html URLをリダイレクトするコードを移動しましたが、それは同じことをやっています。 – Atasha