Я установил WPN-XM, чтобы использовать nginx для проекта Laravel 4.2, но работала только страница индекса, другие страницы, такие как .../AboutMePage
не работает как
Я знаю, что конфигурация Laravel для nginx должна выглядеть следующим образом .conf, но я не знаю, куда его аккуратно вставить.
# WPN-XM Server Stack
#
# Nginx Server Setup Example
# for an Application based on the Laravel Framework
#
# Do not forget to add an hosts entry for http://laravel.dev
#
server
{
listen 127.0.0.1:80;
root www/laravel/public;
# Make site accessible from http://laravel.dev/
server_name laravel.dev;index index.php index.html;location / {
# Request Order: serve request as file, then as directory,
# then fall back to displaying a 404.
try_files $uri $uri/ /index.php?$query_string;
}location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9100;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Есть несколько вещей, которые кажутся неправильными.
Сначала вы должны использовать абсолютный путь для корневой директивы.
Затем вы хотите получить доступ к приложению с помощью http://laravel.dev/
но вы читали, что написано выше: # Do not forget to add an hosts entry for http://laravel.dev
Так что если ваш server_name
директива установлена http://laravel.dev/ вам придется добавить 127.0.0.1 laravel.dev
в ваш файл hosts.
Наконец, папка журнала nginx пуста, потому что журнал ошибок не определен.
Поэтому я бы порекомендовал следующий блок сервера внутри вашего nginx.conf
# WPN-XM Server Stack
#
# Nginx Server Setup Example
# for an Application based on the Laravel Framework
#
# Do not forget to add an hosts entry for http://laravel.dev
#
server {
listen 127.0.0.1:80;
root /www/nerds/public; ## Use absolute paths for root directive
# Make site accessible from http://localhost
server_name localhost;
error_log logs/error.log;
index index.php index.html;location / {
try_files $uri $uri/ /index.php?$query_string;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root www; ## I let it as default WPN-XM config despite what I said above
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9100;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Этот конфиг предполагает, что:
server_name
директивы.Других решений пока нет …