У нас есть веб-сайт, к сожалению, все URL-адреса имеют суффикс .html
, его установка Magento, Magento позволяет вам изменить это на CMS, но опять же, к сожалению, все эти URL-адреса с суффиксом .html
имеют хороший рейтинг в Google. Нам нужно перенаправить на номер .html
.Удалить .html из URL-адресов с перенаправлением
Итак, рассмотрим следующий сценарий: мы восстанавливаем этот сайт с нуля, поэтому у нас есть те же URL-адреса на новом сайте, но без суффикса .html.
- Сейчас:
www.example.de/cool-shoes.html
- Будет:
www.example.de/cool-shoes
Так www.example.de/cool-shoes.html
не будет больше существовать, и я пытался редирект с .htaccess не повезло.
я пытался до сих пор:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule (.*)index\.html$ /$1 [R=301,L]
и:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
, но это не похоже на работу ... какие-нибудь идеи?
привет, только чтобы очистить мое сомнение, что это за правило? не предполагается, что первым параметром является выражение, которое вы получите от запроса, а второе - тот, который вы отправите в apache? они должны быть переключены ->^(. *) $ 1.html – alexserver
Это правило удаляет '.html'. Первая часть - это то, что она соответствует: любой url, который имеет '.html'. «$ 1» - это то, что находится в круглой скобке совпадения: все, кроме '.html'. –
Я бы добавил '' ', чтобы' .html' появился в конце URL-адреса: 'redirectMatch 301^(. *) \. Html $ $ 1' –