Как сделать красивый url через htaccess?

Вообщем много на эту тему ссылок, но так как Я нуб по теме администрирования то потратила кучу времени, а работать так и не стало.
Задача 1:
Перенаправлять в зависимости от языка
Код:
RewriteEngine on
# редирект на русскоязычную версию сайта для русских, украинских, белорусских и казахских браузеров
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP:Accept-Language} (ru|uk|by|kz) [NC]
RewriteRule .* http://propeller-app.com/pages/ru/index.html [R=301,L]
# редирект на англоязычную версию сайта для всех остальных языков
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteRule .* http://propeller-app.com/pages/en/index.html [R=301,L]

Задача 2:
Укорачивать url с propeller-app.com/pages/en/index.html до propeller-app.com/index.html или propeller-app.com/en/index.html
Код:
DirectoryIndex /pages/ru/index.html

RewriteRule ^(|/)$ http://propeller-app.com/ru/index.html [L]

RewriteCond %{REQUEST_URI} !^(|/)
RewriteCond %{REQUEST_URI} !/pages
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule (.*) /pages/$1.html [L]
 
RewriteCond %{REQUEST_URI} !/pages
RewriteCond %{REQUEST_URI} .html$
RewriteRule (.*) /pages/$1 [L]


Задача 3: - классика
убрать .html .php и т. д.
Код:
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ http://site.ru/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]


- Всё работает по отдельности но когда прописываю вместе (как только не писала) то он перестаёт работать
Как построить эти куски htaccess чтобы работало. Или хотя бы киньте где почитать
  • Вопрос задан
  • 9691 просмотр
Пригласить эксперта
Ответы на вопрос 2
@sat50
Или также укоротить url можно на сервисе greemlink.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы