2013-07-18 13 views
2

Я читал все, что я мог бы найти в течение двух дней теперь, но ничего не кажется, работаетRewrite правило с Nginx заменить получить переменную с slach

У меня есть URL-адрес, как этот

http://www.mysite.com/auction.php?category=23140

и хочу сделать переписывают правило так будет выглядит как тот

http://www.mysite.com/auction/category/23140.php

Я делаю это только для того, чтобы построить S eo дружественный URL, но до сих пор ничего не сработало.

переписать ^/auction.php? Category = (. *) $/Аукцион/категория/$ 1 последний;

Это выглядит так просто, что я действительно не знаю, почему он не работает.

Должен ли я помещать эту строку в блок сервера или блок местоположения? Правильно ли регулярное выражение?

Любая помощь будет принята с благодарностью

ответ

0

Вы делаете это в обратном направлении, попробуйте это.

rewrite ^/auction/([^/]*)/([0-9]*) /auction.php?$1=$2 

кусок советы, если это пользовательское приложение вы пишете без рамки, вы можете найти модуль маршрутизации, который можно использовать, и это поможет вам сделать все, что легко.

+0

Здравствуйте, Спасибо за ответ, но, к сожалению, он все еще не работает. Не понимаю, почему. – Popouerk

+0

Попробуйте это, но не работает. Это сводит меня с ума. location/{rewrite /auction-japan.php?category=(\d+)$ /auction-japan/category/$1.php last; } – Popouerk

3

Во-первых, пожалуйста помните переписывают в Nginx не соответствует строке запроса, только Uri.

Например, в этой ссылке: "/auction.php?category=23140", Ури /auction.php и строка запроса категория = 23140

Так что в вашем случае, правильное правило должно быть:

if ($request_uri ~ "^/auction\.php\?category=[0-9]+(.*)?$") { 
    rewrite "^.*$" /auction/category/$arg_category break; 
} 

Выше приведен пример, вы можете изменить его в соответствии с вашим случаем. А также вы можете найти $request_uri и $arg_PARAMETER руководство nginx.

+0

Спасибо за ответ, – Popouerk

+0

Я сделал следующее правило, но теперь файл не найден, это первый раз, когда я использую переписывание URL-адресов, поэтому для меня все не ясно – Popouerk

+0

if ($ request_uri ~ "^/auction-japan \ .php \? category = (. *) $ ") {переписать" ^. * $ "/auction-japan/category/$1.php break; } – Popouerk

 Смежные вопросы

  • Нет связанных вопросов^_^