.htaccess — перенаправление .html на /

#.htaccess #redirect #nginx

#.htaccess #перенаправление #nginx

Вопрос:

Я действительно новичок на этом форуме, это мой первый пост, но я уже много читал. Но я не нашел никакого решения своей проблемы.

Я сделаю следующее через мой htaccess :

301 перенаправление с каждого URL-адреса моего сайта с окончанием .html на /.

Пример:

www.xy.de/70.html должно быть перенаправлено на www.xy.de/70/

Я уже пробовал этот код:

 RewriteCond %{THE_REQUEST} /([^.] ).html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
  

Спасибо за вашу помощь!

Комментарии:

1. Это сбивает с толку. Он объединяет http-серверы apache и nginx…

Ответ №1:

Это должно работать для WordPress:

 # BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} .html$
RewriteRule ^(.*).html$ $1 [R=301,L]

RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
  

Комментарии:

1. Большое спасибо, но это не работает. На данный момент мой htaccess выглядит так:

2. # ЗАПУСТИТЬ WordPress <ifmodule mod_rewrite.c=»»> Перезаписать на RewriteCond %{REQUEST_FILENAME} ! -f перезаписать второй %{REQUEST_FILENAME} ! -d RewriteRule ^(.*).html $ /$1 [L,R=301] Перезаписать второй%{HTTPS} от RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </ifmodule> # ЗАВЕРШИТЬ WordPress

3. Я все еще получаю 404:

4. # НАЧАТЬ WordPress <ifmodule mod_rewrite.c=»»> Перезаписать на базе перезаписи / перезаписать секунду %{REQUEST_URI} .html$ RewriteRule ^(.*).html$ $1 [R=301,L] Перезаписать ^index.php $ — [L] Перезаписать вторую секунду %{REQUEST_FILENAME} ! -f перезаписать второй %{REQUEST_FILENAME} ! -d RewriteRule . /index.php [L] RewriteCond %{HTTPS} отключить RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </ifmodule> # ЗАВЕРШИТЬ WordPress

Ответ №2:

Попробуйте следующий htaccess mate ,

 RewriteEngine On
RewriteCond %{REQUEST_URI} .html$
RewriteRule ^(.*).html$ /$1 [R=301,L]
  

Надеюсь, это поможет вам

Комментарии:

1. Спасибо, но это не работает. WordPress каждый раз отправляет меня на 404, когда я его тестирую. Я уже деактивировал все плагины …