dandandan83
Новичок
Всем Здравствуйте.
есть урл Например: localhost/hotel/mogu/prikrutit-golosov-anie.html
Надо:
1. если урл вида /hotel/mogu/prikrutit-golosov-anie
добавить в конце .html
2. если урл вида /hotel/mogu/prikrutit-golosov-anie/
убрать последний слеш и добавить в конце .html
3. если урл вида /hotel/mogu/prikrutit-golosov-anie.htm
добавить в конце .l , чтобы получилось .html
4. Из полученного урла в переменную записать hotel/mogu/prikrutit-golosov-anie
Написал правило 4-го случая:
По отдельности правила работают. При совмещении получаю ошибку в браузере: Неверное перенаправление на странице.
Если закомментировать правило: то все ок
Что где подправить и может есть более лучшее решение?
есть урл Например: localhost/hotel/mogu/prikrutit-golosov-anie.html
Надо:
1. если урл вида /hotel/mogu/prikrutit-golosov-anie
добавить в конце .html
2. если урл вида /hotel/mogu/prikrutit-golosov-anie/
убрать последний слеш и добавить в конце .html
3. если урл вида /hotel/mogu/prikrutit-golosov-anie.htm
добавить в конце .l , чтобы получилось .html
4. Из полученного урла в переменную записать hotel/mogu/prikrutit-golosov-anie
PHP:
Написал правила для первых 3 случаев:
# добавляем L в .html в конце если закончилось .htm
RewriteCond %{REQUEST_URI} (.htm)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1l [NS,L,R=301]
# конец добавляем L в .html в конце если закончилось .htm
# добавляем .html в конце если ссылка закончилась просто текстом со слешем на конце
#удалил слеш на конце
RewriteRule ^(.*)\/$ /$1 [NS,L,R=301]
# конец добавляем .html в конце если ссылка закончилась просто текстом со слешем на конце
# добавляем .html в конце если ссылка закончилась просто текстом без слеша на конце
RewriteCond %{REQUEST_URI} !(\.html)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1.html [NS,L,R=301]
# конец добавляем .html в конце если ссылка закончилась просто текстом без слеша на конце
Написал правило 4-го случая:
PHP:
RewriteRule ^(.*)\.html$ /index.php?id=$1 [L,NS]
По отдельности правила работают. При совмещении получаю ошибку в браузере: Неверное перенаправление на странице.
Если закомментировать правило: то все ок
PHP:
# добавляем .html в конце если ссылка закончилась просто текстом без слеша на конце
RewriteCond %{REQUEST_URI} !(\.html)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1.html [NS,L,R=301]
# конец добавляем .html в конце если ссылка закончилась просто текстом без слеша на конце
Что где подправить и может есть более лучшее решение?