Remove index.php from url nginx laravel

В категорії Підказки от 20 Червня, 2023. Автор admin

Видалення index.php з любої частини URL

server {

root /var/www/*** index index.php;

server_name mywebsite.com;

if ($request_uri ~* "^(.*/)index\.php/*(.*)")

{ return 301 $1$2; }

….

Приклад того, що буде з URL :

mywebsite.com/index.php => mywebsite.com/
mywebsite.com/index.php?q=query => mywebsite.com/?q=query
mywebsite.com/index.php/article => mywebsite.com/article
mywebsite.com/index.php/article/ => mywebsite.com/article/

mywebsite.com/folder/index.php => mywebsite.com/folder/
mywebsite.com/folder/index.php?q=query => mywebsite.com/folder/?q=query
mywebsite.com/folder/index.php/article => mywebsite.com/folder/article
mywebsite.com/folder/index.php/article/ => mywebsite.com/folder/article/

 

Більше »

Теги: , , ,

Закрыть доступ к сайту по IP адресу Vestacp nginx

В категорії Статьї от 18 Серпня, 2019. Автор admin

1. Самый простой

Создать домен с левым именем в панели управления VestaCP.

Отредактировать файл /home/admin/conf/web/nginx.conf

Нужно переместить в самый верх конфигурационного файла nginx.conf, секцию только что созданного левого домена. После чего, необходимо ребутнуть сервер nginx

/etc/init.d/nginx restart

2. Способ более действенный

Откроем конфигурационный файл /etc/nginx/conf.d/36.10.200.184.conf (ip_адрес_сервера.conf)

добавим строчку return 404;

server {
listen 36.10.200.184:80 default;
server_name _;
return 404;
#access_log /var/log/nginx/36.10.200.184.log main;
location / {
proxy_pass http://36.10.200.184:8080;
}
}

Рестарт nginx

/etc/init.d/nginx restart

Если у вас сайт https, то через 443 порт ваш сайт будет доступен по IP адресу и любому доменному имени.

Добавьте еще одну секцию в /etc/nginx/conf.d/36.10.200.184.conf

server {

listen ip:443;

server_name _;

ssl on;

ssl_certificate /home/admin/conf/web/ssl.domain.ru.pem;

ssl_certificate_key /home/admin/conf/web/ssl.domain.ru.key;

access_log /dev/null;

error_log /dev/null;

return 444;

}

Теги: , ,

Как заставить nginx выполнять php-код в html файлах

В категорії Підказки от 16 Січня, 2018. Автор admin

Необходимо выполнить ряд шагов:

1. nginx должен передавать html-файлы fastcgi-бэкенду. Для этого нужно изменить location, где прописана обработка php-файлов, либо добавить новый location:

Например, файл /home/torm/conf/web/nginx.conf приводим к виду:

listen XX.XX.XX.XX:80;
server_name mysite.ru;
 
index index.php index.html index.htm index.phtml;
 
set $fastcgipass unix:/var/lib/php5-fpm/web1.sock;
 
location / {
        try_files $uri $uri/ /index.php;
}
 
location ~ \.(php|htm|html|phtml)$ {
        try_files       $uri = 404;
        include         /etc/nginx/fastcgi_params;
        fastcgi_pass    $fastcgipass;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Обратите внимание на location ~ \.(php|htm|html|phtml)$

2. php5-fpm по-умолчанию отказывается обрабатывать файлы оканчивающиеся не на .php
Чтобы это исправить нужно в файле /etc/php5/php-fpm.conf (или же в файле конфигурации вашего пула, если у вас есть деление на пулы) добавить строку security.limit_extensions.

Например в файле пула /etc/php5/fpm/pool.d/web1.conf

[web1]
listen = /var/lib/php5-fpm/web1.sock
...
security.limit_extensions = .php .html .htm .phtml
...

 

Теги: , ,