Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
веб программирование — Настройка .
post-(\d+)-(\d+)-(\d+)\.html$ /posts/$1/$2/$3 [R=301,L,NC] # Не только от корня # RewriteRule post-(\d+)-(\d+)-(\d+)\.html$ posts/$1/$2/$3 [R=301,L,NC] # Убираем .html во всех случаях RewriteRule (.+)\.html$ /$1 [R=301,L,NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L,QSA]Флаг NC
означает нечувствительность к регистру.
Можно проверить здесь.
Слишком мало информации вы привели. К примеру, при каких условиях должен осуществляться редирект на URL без .html?
1Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
.htaccess — Как удалить .html из URL и перенаправить, когда html будет доступен напрямую
спросил
Изменено 2 года, 11 месяцев назад
Просмотрено 3к раз
Я знаю, что могу удалить .html, используя код удаления html .htaccess, который выглядит следующим образом: 9(.*)\.html$ /$1 [L,R=301]
Мне все еще не нравится эта причина, когда посетители заходят на мой сайт с расширением .html, тогда .html все равно не удаляется и все еще может отображаться посетителями. Но я хочу, чтобы пользователь был перенаправлен без расширения .html, когда он/она напрямую обращается к файлу. Например, когда посетитель хочет получить доступ к файлу file1. html непосредственно в браузере, он автоматически перенаправляет или удаляет расширение .html, поэтому вместо отображения файла file1.html при доступе непосредственно в браузере он автоматически переписывает «file1.html» на « file1″ без расширения html больше. 9/]+)/$ /$1/$2.html RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ Правило перезаписи (.*)$ /$1/ [R=301,L]
следует удалить .html
и добавить конечный /
источник
0Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но никогда не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
.htaccess — htaccess перенаправляет все страницы, заканчивающиеся на .html, на страницы без html, кроме некоторых страниц
Задавать вопрос
спросил
Изменено 4 года, 2 месяца назад
Просмотрено 338 раз
У меня возникла проблема с правилами .htaccess
для перенаправления.
Мне нужно перенаправить страницы, заканчивающиеся на .html
, на страницы, заканчивающиеся косой чертой.
/about-us.html
на /about-us/
Но есть также страницы, где мне нужно перенаправить на определенную страницу без .html
как
/gallery/first-gallery/this- is-the-gallery. html
to /gallery/new/
Проблема в том, что мои правила плохо работают вместе, кажется, что правило перенаправления страниц .html игнорирует все остальные правила.
Так выглядит мой .htaccess
Итак, когда я набираю
domain.com/about-us/photo-gallery/17577-album-mca-corona-clay-tile-roof-princeton-texas/131173-58e29f485064eprinceton-texas-roofing-services-1 .html
в браузере перенаправляет на
domain. com/about-us/photo-gallery/17577-album-mca-corona-clay-tile-roof-princeton-texas/131173-58e29f485064eprinceton-texas-roofing- services-1
, где мне нужно это конкретное перенаправление для перенаправления на
/about-us/photo-gallery/17577-album-mca-corona-clay-tile-roof-princeton-texas/ 9/?(.*).(html)$ /$1 [R=301,L]
в конец, надеясь, что сначала обработаются вышеприведенные правила, но это не сработало.Что я могу сделать, чтобы это работало так, как мне нужно?
- .htaccess
- перенаправление
Прежде всего, если есть mod_alias
как перенаправление
и mod_rewrite
как RewriteRule
mod_rewrite
mod_alias
правил.Есть много вариантов решения этой проблемы, например, исключение всех других правил перенаправления из основного переписывающего правила, но считается, что другие правила 9(.*)\.(html)$ /$1 [R=301,L]
Правила выше проверят, приходит ли URI
в такой форме /something/something/something/something.