.htaccessで正規表現を使用して、数百ある記事リダイレクトをしたいです。
.htaccessに以下のように記述しましたが、リダイレクトしません。
どのように記述したら実現できるのでしょうか。
リダイレクトしたいURLのパターン
.htmlと記載のあるURLやめて、スラッシュで終わるURLにしたいです。
https://example.com/dir/111.html
https://example.com/dir/112.html
...
↓
https://example.com/dir/111/
https://example.com/dir/112/
...
.htaccessに記述した内容
htaccess
1<IfModule mod_rewrite.c> 2RewriteEngine on 3RewriteRule ^dir/^(.*)\.html$ /dir/$1/ [R=301,L] 4</IfModule> 5 6# BEGIN WordPress 7# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は 8# 動的に生成され、WordPress フィルターによってのみ修正が可能です。 9# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 10<IfModule mod_rewrite.c> 11RewriteEngine On 12RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 13RewriteBase / 14RewriteRule ^index\.php$ - [L] 15RewriteCond %{REQUEST_FILENAME} !-f 16RewriteCond %{REQUEST_FILENAME} !-d 17RewriteRule . /index.php [L] 18</IfModule> 19# END WordPress 20 21Redirect permanent /dir/21387.html https://example.com/dir/21387/ 22 23 24SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off 25SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode 26
WordPressのサイトです。
Redirect permanent /dir/21387.html https://example.com/dir/21387/
はリダイレクトしますが、
https://example.com/dir/21840.html
などにアクセスするとNotFoundが表示されます。
よろしくお願いします。
どういうURLをブラウザに入力したら、どうなって欲しいですか?
現状で、実際にはどうなるのですか?
https://example.com/dir/111.html
にアクセスされたら、
↓
https://example.com/dir/111/
という具合にリダイレクトしたいです。
現状はNotFoundになります。
回答2件