URLの正規化を行ないたくhtaccessを変更したのですが、一部のページのみ404エラーが出てしまい表示がされません。
原因がわからず困っています。
具体的には、エックスサーバーで下記のような階層でサブドメインを作ってページを入れたうち、contact.htmlのみ、~/contact.htmlでも、~/contactでも両方が404エラーとなってしまいます。
その他のページでは問題なく正規化されました。
- public_html
- index.html(メインのドメイン)
- .htaccess
- sub(サブドメインのディレクトリ)
- index.html(問題なし)
- .htaccess(←該当のhtaccessファイル)
- contact.html(404エラー)
- thanks.html(問題なし)
- privacy.html(問題なし)
htaccessファイルには下記のように記述しました。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php RewriteCond %{THE_REQUEST} \.(php|html)\ HTTP RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]
キャッシュの削除、パーミッションの変更などを試してみましたが、どれも効きませんでした。
追記---
同じ階層にcontactというディレクトリがありました。
上位のhtaccessはいちおうネットの記事など見て確認した程度です。
回答1件
あなたの回答
tips
プレビュー