Рубрики
Uncategorized

ThinkPHP 5.0 Linux Apache/Nginx Переписать Конфигурацию URL

Автор оригинала: David Wong.

  • Авторская система-Ubuntu, CentOS и другие дистрибутивы Linux, пожалуйста, измените ее самостоятельно Фреймворк PHP-это ThinkPHP 5.0. В официальном документе говорится что-то расплывчатое, поэтому я добавил его сам. Вы можете указать на любые ошибки.

Вы можете переопределить индекс файла записи скрытого приложения. PHP через URL-адрес. Ниже приведена ссылка на конфигурацию соответствующего сервера:

[Апач]

1. Включить Модуль Перезаписи

2. sudo a2enmod перезапись или sudo ln-s/etc/apache 2/моды-доступны/перезапись.загрузить/etc/apache2/моды-включены/перезапись.

3. Отредактируйте файл конфигурации/etc/apache2/apache2.conf, чтобы найти соответствующее расположение корневого каталога вашего веб-сайта


Options Indexes FollowSymLinks
AllowOverride None
Require all granted

4. Измените значение AllowOverride Нет на AllowOverride Все

5. Перезапустить службу sudo перезапустить службу Apache 2

6. Сохраните следующее как. файл htaccess и поместите его в тот же каталог файла записи приложения (создается по умолчанию, если не создан самостоятельно)


Options +FollowSymlinks -Multiviews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

[Nginx]

В низкой версии Nginx PATHINFO не поддерживается, но его можно реализовать, настроив правила пересылки в Nginx.

Отредактируйте файл/etc/nginx/сайты-доступно/по умолчанию:

Server {//... Eliminate part of the code.
   root /var/www/html;
   // Find the module and fill in the following configuration
 }
  Location / {/... Eliminate part of the code.
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

Фактически, внутренняя информация пересылается на совместимые URL-адреса, предоставляемые ThinkPHP, которые можно использовать для решения других сред веб-серверов, не поддерживающих PATHINFO.

Если ваше приложение установлено во вторичном каталоге, псевдостатический метод Nginx устанавливается следующим образом, где/TP5/public/-имя каталога.

location /tp5/public/ {
    if (!-e $request_filename){
        rewrite  ^/tp5/public/(.*)$  /tp5/public/index.php?s=/$1  last;
    }
}

Исходный URL-адрес доступа:

Http://serverName/index.php/module/controller/operation/[parameter name/parameter value...]

После настройки мы можем получить к нему доступ следующим образом:

Http://serverName/module/controller/operation/[parameter name/parameter value...]

Если у вас нет разрешения на изменение сервера, вы можете изменить индекс. Файл ввода PHP. Это неправильный способ сделать это, и он может не увенчаться успехом. В зависимости от сервера, вы можете только заполнить параметры $_SERVER [‘PATH_INFO’] до запуска платформы.

$_SERVER[‘ПУТЬ_ИНФО’] = $_SERVER[‘ЗАПРОС_УРИ’ ];

Наконец, перезапустите сервер

sudo service nginx restart

Оригинал: “https://developpaper.com/thinkphp-5-0-linux-apache-nginx-rewrite-url-configuration/”