2017-09-29 16 views
0

私は以前は.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を移動した、それはまだ同じことをやっています。キャッシュがクリアされました。

+0

'/ xxx/yyy.html'に対するリクエストはこれまでにないでしょう - ' .html'で終わる_all_リクエストをリダイレクトしたのですでに前に... – CBroe

+0

301の後にすべての.html URLをリダイレクトするコードを移動しましたが、それは同じことをやっています。 – Atasha

答えて

0

このワードプレスプラグインを試してくださいhttps://wordpress.org/plugins/redirection/。あなたはリダイレクトするリンクを追加するだけで、リダイレクトする場所とすべてのものを扱います。

関連する問題