Доброго времени . Когда сайт был на Apache2 ,то ЧПУ было настроено с помощь .htaccess. В nginx не существует апачевского .htacces ,где можно было бы настроить правила для mod_rewrite и правила преобразования нужно прописывать в конфигурационный файл сайта. Для перевода .htaccess в nginx я использовал -конвертер для nginx.,который выдал такой код: location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?q=$0; } } а вот конфигурационный файл сайта: server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 listen [::]:80 default_server ipv6only=on; ## listen for ipv6 server_name view.com; root /var/www/view.com; index index.php; access_log /var/www/view.com/log/access.log; error_log /var/www/view.com/log/error.log; include /etc/nginx/templates/phpmyadmin.conf; location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php$is_args$args; } # uncomment to avoid processing of calls to non-existing static files by Yii #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { # try_files $uri =404; #} #error_page 404 /404.html; # deny accessing php files for the /assets directory location ~ ^/assets/.*\.php$ { deny all; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; try_files $uri =404; } location ~* /\. { deny all; } } И как бы я не пытался этот код добавить выдаёт ошибку: jessie@roswel:/etc/nginx/sites-available$ sudo nginx -t nginx: [emerg] unknown "0" variable nginx: configuration file /etc/nginx/nginx.conf test failed Что не так делаю можете ответить или как по другому сделать?
Спасибо подошло ,nginx не выдаёт ошибку в конфигурации,но браузерная строка только отрабатывает запросы view.com/page1 ; view.com/page2 итд,а сама страничка не меняется,.По разному правил пути и менял конфигурацию.Без результат но. изначальный файл .htaccess до перевода в nginx. // AddDefaultCharset utf-8 Options +FollowSymLinks Options -Indexes DirectoryIndex index.php RewriteEngine On RewriteBase / RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)/$ /?controller=$1&action=$2&id=$3&%{QUERY_STRING} [NS,L] RewriteRule ^([a-z]+)/([a-z]+)/$ /?controller=$1&action=$2&%{QUERY_STRING} [NS,L] RewriteRule ^([a-z]+)/([0-9]+)/$ /?controller=$1&id=$2&%{QUERY_STRING} [NS,L] RewriteRule ^([a-z]+)/$ /?controller=$1&%{QUERY_STRING} [NS,L] RewriteCond $1 !^(index\.php) RewriteCond %{REQUEST_URI} !\.(css│js│jpg│gif)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php?q=$0 RewriteRule ^(.*)$ index.php/$1 [L,QSA] #так тоже пробовал. // index.php switch ($_GET['c']) { case 'page':$controller = new C_Page();break; case 'page1':$controller = new C_Page1();break; case 'page2':$controller = new C_Page2();break; case 'page3':$controller = new C_Page3();break; case 'page4':$controller = new C_Page4();break; case 'page5':$controller = new C_OtherPage();break; default: $controller = new C_Welcome(); } $controller->Request($action); // main.php <div id = "main"> <ul> <li><a href = "index.php">Главная.</a></li> <li><a href = "page">страница.</a></li> <li><a href = "page1">страница1</a></li> <li><a href = "page2">страница2</a></li> <li><a href = "page3">страница3</a></li> <li><a href = "page4">страница4</a></li> <li><a href = "page5">страница5</a></li> </ul> // Раньше вo view, до page было дописано,- index.php?c=some_ ,а в index,- some_. Контролер и модель не трогал.В чём тут ещё может быть ошибка,?