удаление .html с помощью .htaccess дает ошибку 404 - PullRequest
0 голосов
/ 05 октября 2019

Итак, я только что понял, как сделать свою собственную страницу 404, и теперь страница 404 работает. Я сделал все .htaccess для страницы 404, но теперь я пытаюсь удалить .html из URL. Я вставил код, который нашел в интернете, и я верю, что это сработало, потому что теперь .html пропал, но я получаю страницу с ошибкой 404. ex domain.com/contact показывает мне мою ошибку 404.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /error_404.html

ErrorDocument 404 /error_404.html

RemoveType x-mapp-php4 .html


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

Нижняя часть, где начинается "RewriteCond", - это код для удаления .html.

1 Ответ

0 голосов
/ 05 октября 2019

Попробуйте использовать это

 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME}\.html -f
 RewriteRule .* $0.html
 RewriteRule (.*) /error_404.html
 ErrorDocument 404 /error_404.html

 RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.html
 RewriteRule ^/?(.*)\.html$ /$1 [L,R=301]

 RewriteCond %{REQUEST_FILENAME}\.html -f
 RewriteRule ^/?(.*)$ /$1.html [L]
</IfModule>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...