Страница 1 из 1
OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 14 май 2024, 11:27
funtus
Всем добрый день.
Перешел на OSP 6 с пятой версии и не могу решить проблему - в URL всегда присутствует index.php файл и не работаю некоторын роуты. Перекопал множество документации и пробовал изменить настройки nginx, apache, .htacces файла и даже RouteServiceProvider.php в Laravel.... результат один и тот же:
1. В адроесе всегда присутсвует index.php
2. Переход в /home не подгружает стили, скрипты и прочее
Уверен, что я где-то ошибься, но никак не могу найти где. Помогите, пожалуйста.
Настройки:
1. ospnal\config\program.ini - изменение только в пути проектов
[main]
api_domain = ospanel
api_ip = 127.127.127.127
api_port = 80
clear_dns_cache = on
lang = auto
log_max_filesize = 1
projects_search_depth = 3
projects_search_path = {root_dir}\home;D:\projects\web
task_scheduler = on
terminal_ansi_fix = auto
update_check = on
use_hosts_file = on
use_win_terminal = off
2. настройки проекта по пути D:\projects\web\dms.local\.osp\project.ini
[dms.local]
enabled = on
environment = System
ip = auto
nginx_engine = Nginx-1.26
node_engine =
php_engine = PHP-8.2
project_dir = {base_dir}
project_url = https://{host_decoded}
public_dir = {base_dir}\public
ssl = on
ssl_cert_file = auto
ssl_key_file = auto
start_command =
terminal_codepage = 65001
Скрины
Заранее спасибо
Re: OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 14 май 2024, 11:38
Максим
Включили Nginx, но даже не настроили его, полагаю. Классика. Если у вас Nginx + PHP-FCGI, то пробуйте эти правила:
index index.html index.htm index.php;
charset utf-8;
location / { try_files $uri $uri/ /index.php$is_args$args; }
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {fastcgi_pass $php_server:9000; include fastcgi_params; }
location ~ /\.(?!well-known).* { deny all; }
О том, как создать свой конфиг для Nginx, чтобы добавить эти правила, читайте в документации или посмотрите дефолтный домен-пример доступный после установки.
UPD. Вижу по конфигам, что у вас связка Nginx+Apache. Поэтому тут всё ещё проще, просто проверяйте что у вас в .htaccess, там должны быть нужные правила прописаны. Ну и в консоли браузера смотрите, почему у вас стили не подгружаются.
Re: OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 16 май 2024, 23:48
amel
Столкнулся с такой же проблемой: все страницы открываются только если в адресе есть index.php. Например, вот так
https://lara.test/index.php/dashboard страница открывается, а вот так - нет
https://lara.test/dashboard
В конфигурацию nginx добавил такие строки:
location / {
try_files $uri $uri/ /index.php$is_args$query_string;
}
В .htaccess добавил вот это:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
</IfModule>
Но ничего из этого не помогло. Пожалуйста, помогите с решением этой проблемы. Уже все возможные способы перепробовал, но ничего не получается.
Laravel 11, php8.2 (Nginx1.26 + Apache).
Re: OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 17 май 2024, 12:48
piento
osp6 + php7.4fcgi + laravel7 + nginx1.26
Приложение использует puppeteer.
Проблема:
Chrome не запускался, потому как , не видит node (в osp 5.43 все без проблем).
(Перепробовал множество вариантов, и nvm или системный node, в set все есть но...).
Решил вопрос прописав 'executable_path':'C:\\Program Files\\nodejs\\node.exe'.
Re: OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 19 июн 2024, 13:59
voland70
piento писал(а): ↑17 май 2024, 12:48
osp6 + php7.4fcgi + laravel7 + nginx1.26
Приложение использует puppeteer.
Решил вопрос прописав 'executable_path':'C:\\Program Files\\nodejs\\node.exe'.
Подскажите подробнее: где именно 'executable_path':' -необходимо прописать?
OSP 6.0.0 + Laravel 10 - не может запустить ноду, puppeteer - не работает.
Ищу решение.
Re: OSP 6.0.0 + Laravel 9 + Nginx 1.26: проблема роутинга
Добавлено: 09 окт 2024, 00:05
Seeman13
Вам нужно:
-> в папке
.osp вашего локального сайта создать директорию
nginx;
-> в созданной директории
nginx создать файл с именем домена вашего локального сайта, например:
laravel.-test.conf
-> в конфиге, например для
Laravel версии 11 прописать следующий код:
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass $php_server:9000;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_hide_header X-Powered-By;
}
location ~ /\.(?!well-known).* {
deny all;
}
-> для своего тестового сайта выбрать версию Nginx: Nginx-1.26
-> для своего тестового сайта выбрать версию PHP: PHP-8.3-FCGI
-> перезагрузить OSP