Dram

Рейтинг
1114
Регистрация
28.06.2008
LEOnidUKG #:

3 минуты между постами. У тебя реальная проблема с этим форумом. Вместо посидеть подумать, у тебя первая мысль захерачить ещё один бесполезный топик. 

Делай паузу между топиками сутки. Вот сутки не можешь, что-то решить, тогда создавай топик.

реально ты прав, прям тик у меня ))) первая мысль сюда написать ))) буду стараться

Вопрос снят, забыл что я же в Nginx сам 7.4 подключаю ))
Всем спасибо, вы правы!! Шорт тег был выключен.

открыл для себя что в данной ситуации /etc/init.d/nginx reload  не оказывал эффекта и только после /etc/init.d/nginx restart картинка начала меняться

С таким конфигом 

server {
   listen 80;
   server_name 81.**********;

  
        location ^~ /phpmyadmin/ {
        alias /usr/share/phpMyAdmin/;
        index index.php;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass unix:/run/php/php7.4-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name;
   }
                  
   }
}

получаю  File not found.

baas #:
А так не лучше будет?

Попробовал ваш вариант 

server {
   listen 80;
   server_name 81*******;

        location ^~ /phpmyadmin/ {
        alias /usr/share/phpMyAdmin/;
        index index.php;
        include include_conf/auth_conf;

        location ~ \.php$ {
        fastcgi_pass unix:/tmp/product.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_ignore_client_abort off;
   }
}

И такой

server {
   listen 80;
   server_name 81********;

        location ^~ /phpmyadmin/ {
        alias /usr/share/phpMyAdmin/;
        index index.php;
        include include_conf/auth_conf;

        location ~ \.php$ {
          fastcgi_pass unix:/run/php/php7.4-fpm.sock;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
          include snippets/fastcgi-php.conf;
   }
}

404 ошибка

Я для своих сайтов использую кеш Nginx. Для банальных статейников где ничего не меняется ставлю кеш сроком месяц. Где есть комменты или какая-то движуха - меньше. Все индивидуально подбирается.
Эх, как же здорово это сделано в Ларавель - выполняешь команду npm run prod и она пробегается по всему проекту, определяет какие стили ты использовал и генерирует итоговый css

Пишу для тех, кто наткнется на эту тему в поиске. Дальше читая доки, понял что выше я наговнокодил. Нужно так

Делаем именной роут

Route::get('/news/{id}-{alias?}', [App\Http\Controllers\NewsController::class, 'getOne'])->where(['id' => '[0-9]+', 'alias' => '(\w+|-){1,40}'])->name('OneNews');

Делаем модель нужной таблицы, подключаем ее в контроллере

use App\Models\News;

И сам метод контроллера будет выглядеть так

public function getOne($id, $alias = null)
    {
        $newsOne = News::findOrFail($id);
        if ($newsOne->alias !== $alias) {
            return redirect(route('OneNews', ['id' => $id, 'alias' => $newsOne->alias]));
        }
        return view('news_one', ['newsOne' => $newsOne]);
    }

Метод findOrFail позволит получать 404 ошибку при отсутствии ID в базе, а именной роут поможет с редиректом без лишнего кода.

estic #:

С id и дефиса.

нет, именно чисто с id. 

id + дефис будет давать 404 ошибку

И еще нужно добавить проверку на отсутствие ID в базе с редиректом на стандартную 404 страницу

        if(empty($this->news_one[0]->id)){
            return abort(404);
        }

А если роутер изменить так

Route::get('/news/{id}-{alias?}', [App\Http\Controllers\NewsController::class, 'getOne'])->where(['id' => '[0-9]+', 'alias' => '(\w+|-){1,40}']);

т.е. добавить ? после alias сделав параметр необязательным, а функцию так

    public function getOne($id, $alias = null)

Задать дефолтное значение для алиаса, то редиректить на правильный урл будет уже начиная с верного id

Всего: 6924