EDIT ONE: Я также тестировал это на Windows 7 с apache, и там происходит то же самое. Это означает, что проблема заключается прежде всего в маршрутизации всех страниц на домашнюю страницу.Сайт Yii, обслуживаемый nginx или apache, обслуживает только главную страницу
EDIT TWO: Согласно предложению в IRI-канале #yii, я заменил содержимое файла .htaccess на упрощенное из рабочего проекта. Однако это не привело к каким-либо изменениям в этой проблеме.
ИЗМЕНИТЬ ТРИ: У меня сейчас все нормально, с некоторыми изменениями в моем коде. Ответ ниже
Я пытался импортировать сайт, написанный с помощью Yii Framework, который я импортировал на свою рабочую станцию. Я сталкиваюсь с проблемой, когда попытка загрузить любую страницу не делает ничего, кроме прямой на главную страницу. Это означает, что все запросы по существу маршрутизируются точно так же, как если бы я загрузил запрос root. Ошибки не появляются в журнале доступа или журнале ошибок; запросы выглядеть следующим образом в журнале доступа Nginx, где «пример» является либо «локальный», «127.0.0.1», или IP-адрес сервера:
Accessing root (http://example/):
127.0.0.1 - - [08/May/2013:13:05:28 -0700]
"GET/HTTP/1.1" 200 8436 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"
Accessing login (http://example/site/login):
127.0.0.1 - - [08/May/2013:13:07:01 -0700]
"GET /site/login HTTP/1.1" 200 8427 "http://example/" "Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"
Accessing the same controller by http://example/index.php?r=site/login:
127.0.0.1 - - [08/May/2013:14:40:45 -0700]
"GET /index.php?r=site/login HTTP/1.1" 200 8419 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"
Учитывая, у меня есть 2 другие Yii проекты набор которые работают нормально, которые используют конфигурацию сервера, аналогичную той, которую я также вставляю ниже, я думаю, что это может быть что-то в работе самого приложения, к которому я еще не стремился. Если у кого-нибудь есть какие-либо предложения по чему-либо еще, я мог бы поделиться, попробовать или сравнить с рабочими проектами, которые я импортировал с других сайтов, было бы очень полезно :)
изменить: переключиться в конфигурации ближе к что я фактически использовал. Это, вероятно, не имеет значения, учитывая, что проект имеет ту же проблему во время работы в Apache в Windows.
server {
server_name localhost;
listen 80;
keepalive_timeout 70;
root /usr/www/[project name omitted]/public_html;
client_max_body_size 4M;
client_body_buffer_size 4M;
client_header_buffer_size 4M;
location/{
try_files $uri $uri/ /index.php?$args;
autoindex on;
}
location ^~ /data/ {
expires 30d;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#Disable logging for favicon
location = /favicon.ico {
log_not_found off;
access_log off;
}
#Disable logging for robots.txt
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ /themes/\w+/views {
deny all;
access_log off;
log_not_found off;
}
# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
try_files $uri =404;
#fastcgi_intercept_errors on;
#fastcgi_connect_timeout 20;
fastcgi_send_timeout 20;
fastcgi_read_timeout 600; # For xdebug to work alright
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
Я фактически пошел и отредактировал конфигурационный файл где-то между пытаюсь что-то другое из того, что вы видели раньше (это просто то, что я скопировал и вставил от того, что Yii документов сами по себе имеют вверх по протоколу HTTPS://code.google.com/p/yii/source/browse/trunk/docs/guide/quickstart.apache-nginx-config.txt). Редактированный файл конфигурации содержит что-то ближе к вашему предложению, но абсолютно не помогает решить мою проблему. Я собираюсь попробовать это с apache вместо этого - я все еще сомневаюсь, что это проблема nginx с такой скоростью, но я могу ошибаться. Спасибо за предложение. –