2013-04-12 4 views
0

Я использую NGINX 1.2.3 на Ubuntu 10.4 с php5-fpm.NGINX rewrite php args

http://example.com/step2.php?qid=RAUVGXF 

Я хотел бы переписать /step2.php?qid=RAUVGXF в /step2/RAUVGXF

Как я могу это сделать?

Часть моей Nginx конфигурации, как показано ниже:

root /var/www; 

location ~ .php$ { 
fastcgi_param HTTPS on; 
try_files $uri =404; 
fastcgi_split_path_info ^(.+\.php)(.*)$; 
fastcgi_pass unix:/var/run/php5-fpm.sock; 
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; 
include /etc/nginx/fastcgi_params; 
fastcgi_index index.php; 
} 
+0

Для подтверждения, вы хотите, чтобы перейти к 'http://www.example.com/step2.php ? qid = RAUVGXF' и фактически загрузить объект '/ step2/RAUVGXF' правильно (это противоречит тому, что большинство людей пытается сделать)? Является ли «RAUVGXF» сценарий, статический актив или что? Вы хотите, чтобы URL-адрес в окне браузера изменился или вы хотите, чтобы он оставался «http: //www.example.com/step2.php? Qid = RAUVGXF»? –

ответ

1

Try:

rewrite ^/step2/ /step2.php?qid= last; 
+0

Спасибо, попробовал, но все тот же url (без изменений) после обновления страницы (перезагрузка) – Ronin

+0

@Ronin: Вы должны изменить свой код, чтобы изменить URL. Директива 'rewrite' просто заставляет сервер понимать новый URL-адрес. – icktoofay

+0

Как я понимаю/step2/ должен быть отправлен из PHP-кода, но на самом деле step2.php? Qid = выполняет и nginx интерпретирует – Ronin