Как написть реврайты nginx

Нужна помощь в написании реврайтов nginx
Есть ссылка http://domen.com/index.php?tag=Текст
хочется чтобы она выглядела вот так:
http://domen.com/текст
(слово текст постоянно меняется)
  • Вопрос задан
  • 2501 просмотр
Пригласить эксперта
Ответы на вопрос 4
@Nc_Soft
Почему через приложение не разрулить?
Ответ написан
Комментировать
zhovner
@zhovner
Гик, задрот и богомол
Смотря как nginx проксирует запросы.
Напиши что за cms.

location / {
try_files $uri $uri/ /index.php?$args;
}
Ответ написан
Комментировать
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Лучше всего это в пыхе обрабатывать, незачем делать из nginx - апач лапшу.

можно еще так
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } }

В PHP смотреть какой URL
А если фреймворк испл. то вообще все просто.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Мхм. Ну у вас слишком пространный вопрос.

Вообще так:
location =/index.php {
proxy_pass http://гдеувастамphpкрутится
...
остальные_параметры_proxy
}

location / { 
rewrite ^/(.*) /index.php?tag=$1 last; 
}

Но оно как-то должно с другим сочетаться. Ту же статику нужно не забыть описать отдельным location. А если у вас не все запросы должны заруливаться в tag= - то и это нужно учесть. И здесь не учтено то, что URI может быть вида /bla/bla/bal (оно приедет в виде tag=bla/bla/bla)

В общем, советую уточнить вопрос и написать, что вам нужно целиком. А то понапишут вам тут сейчас =)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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