Dram

Рейтинг
1115
Регистрация
28.06.2008

jkm, попробовал - без эффекта

---------- Добавлено 25.07.2019 в 20:39 ----------

о!!!!

location / {
try_files $uri /index.php$uri;
}

Это помогло!!! Спасибо! А может все вместе...

jkm, теперь

var_dump('PATH_INFO', key_exists('PATH_INFO', $_SERVER));

выдает ТРУ

но на всех страницах сайта 500 ошибка, вернул

location / {
try_files $uri $uri/ /index.php?$args;
}

стало опять - показывать только главную на всех адресах

вот весь конфиг

server {
server_name 5.com www.5.com;
listen 80;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl http2;
server_name 5.com www.5.com;
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ https://$host_without_www$1 permanent;
}

ssl_certificate /etc/letsencrypt/live/5.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/5.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

#access_log off;
access_log /var/log/nginx/5.access.log ;
error_log /var/log/nginx/error.5.log crit;

root /var/www/5.com;
index index.php index.html index.htm default.html default.htm;

# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}

# caching of files
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt|ico|pdf|flv)$ {
error_page 404 = @fallback;
expires 30d;
}


# php files
location ~ \.php$ {

include fastcgi_params;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_index index.php;
fastcgi_read_timeout 30;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

}

Да,вероятно дело в PATH_INFO

var_dump('PATH_INFO', key_exists('PATH_INFO', $_SERVER));

выдал bool(false)

Сделал поиск по сайту, нашел такой кусок

public static function uripath()
{
$path = vars::server('PATH_INFO');
return $path ? trim($path, '/') : 'index';
}

Добавление в конфиг Nginx

fastcgi_split_path_info ^(.+?\.php)(.*)$;

результата не дало. Что можно еще попробовать?

lonelywoolf:
location / {
try_files $uri $uri/ /index.php?$query_string;
}

это опять позволяет гулять по всему сайту - но инфа всегда только главной страницы

Да, вот как было

location / {

try_files $uri $uri/ /index.php?$args;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php/$uri break;
}

}

так тоже дает 404

location / {

try_files $uri $uri/ /index.php/$request_uri;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php/$uri break;
}

}

Вот весь .htaccess


# Set some security parameters
Options All -ExecCGI -Indexes -Includes +FollowSymLinks
ServerSignature Off

# Turn on URL rewriting
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]

# Force UTF-8 encoding
AddDefaultCharset UTF-8


# Rewrite all other URLs to index.php/URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [L]

location ~ / {

return 301 /index.php$request_uri;

}

дает бесконечную переадресацию...

Попробовал, теперь на всех кроме главной 404

baas, спс, немного подправил ваш конфиг и все заработало

location /administrator/ {
index index.php;
satisfy any;
allow **.**.0.0/16;
deny all;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}

У меня Джумла... и в вашем примере я не вижу картинок и скриптов.

Всего: 6927