Я пытаюсь получить расширенный шаблон Yii2 на VPS. Все работает нормально с точки зрения алгоритмов и путей, пока я не попытаюсь включить «симпатичный URL» через файлы конфигурации и .htaccess. Он отлично работает для / frontend, но / backend больше не доступен. Я все еще новичок ie в .htaccess, поэтому любая помощь будет оценена.
Root .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule backend backend\.php [T=application/x-httpd-php]
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ frontend/web/$1 [L]
</IfModule>
# Deny accessing below extensions
<Files ~ "(.json|.lock|.git)">
Order allow,deny
Deny from all
</Files>
# Deny accessing dot files
RewriteRule (^\.|/\.) - [F]
common \ config \ main. php ( urlManager)
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
],
frontend / web / .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Я также попытался изменить frontend / config / main. php basePath как например:
use yii\web\Request;
$baseUrl = str_replace('/frontend/web', '', (new Request)->getBaseUrl());
Но безрезультатно, поскольку при попытке доступа к серверу я получу только 500 ошибок (и ничего больше).
Примечание: mode_rewrite был включен как через a2enmod и через apache2.conf.