Автор оригинала: 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/”