Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите с Rewrite (.htaccess)
цитата
18/05/16 в 20:54
 JM
В корень кладу htaccess в нем
RewriteRule ^xxx/(.*)/(.*)$ out.php?x=$1&xxx=$2 [L]
Если в корне нету директории xxx - то все работает как надо, но если есть дира... то нет... как победить эту фигню? icon_smile.gif
цитата
18/05/16 в 22:25
 CrazyMen
Если не ошибаюсь то никак, может просто по другому обозвать диру и не париться? icon_wink.gif
цитата
18/05/16 в 22:39
 JM
CrazyMen писал:

Если не ошибаюсь то никак, может просто по другому обозвать диру и не париться? icon_wink.gif

да это катит если 1 дира )
А если их 1000? icon_smile.gif
цитата
19/05/16 в 07:31
 rickdeckard
надо добавлять исключения в .htaaccess
примеры http://stackoverflow.com/questions/1848500/htaccess-mod-rewrite-how…write-rule

или делать редирект через файл php прописанный в настройке http://php.net/manual/ru/ini.core.php#ini.auto-prepend-file если это куча разных файлов
или в фронт-контроллере если это кактой фреймворк или CMS c единой точкой входа
цитата
20/05/16 в 16:50
 JM
rickdeckard: совсем не то че надо icon_sad.gif
цитата
20/05/16 в 19:47
 Stek
JM писал:
Если в корне нету директории xxx - то все работает как надо, но если есть дира... то нет... как победить эту фигню?

Если есть дира, то правило не срабатывает ? Или наоборот надо, что бы не срабатывало ? Не ясно, что не так у тебя.
цитата
16/09/17 в 19:27
 Sven
помогите плиз тоже, чего-то голову уже сломал:

надо все урл вида xxx.com/что-то
переадресовывать на xxx.com/en/что-то
но только если не был указан язык -
то есть если есть xxx.com/ru/что-то - то не надо )

вобщем если в начале урла нет /{2 буквы}/ то редиректить на /en/.
иначе ничего не делать

возможно такое прописать?
цитата
17/09/17 в 11:37
 S_Flash
Sven: лучше перечислить все варианты языков, иначе может получится, что урл из двух букв сопадёт с шаблоном типа http://xxx.com/uu/ и он не средиректится на дефолтный язык.

Попробуй так
Код:
RewriteRule ^/?(?!en|de|ru/)(.*) /en/$1 [L,R=301]

en|de|ru - список возможных языков
/en/$1 - дефолтный

Это что касается непосредственно твоего вопроса
Но вобще есть готовые более сложные правила по определению языка браузера прямо из заголовков http. Если у тебя скрипт этим знамается, то тебе не понадобится.
цитата
19/09/17 в 22:55
 Sven
S_Flash писал:

Код:
RewriteRule ^/?(?!en|de|ru/)(.*) /en/$1 [L,R=301]

en|de|ru - список возможных языков
/en/$1 - дефолтный


спасибо smail54.gif


Эта страница в полной версии