Как удалить часть URL с помощью .htaccess и перенаправлять каждый раз на определенный файл - PullRequest
0 голосов
/ 27 марта 2019

Я устанавливаю на одном компьютере два разных веб-приложения и хочу изменить файл .htaccess таким образом, чтобы он работал без необходимости иметь новый домен на моем сервере. Точнее я хочу удалить части URL.

В каталоге /var/www/html/ у меня есть два разных веб-приложения

/var/www/html/ │---webapp1/ │ │---public/ │ │ │---index.php │ │---.htaccess │---webapp2/ │ │---public/ │ │ │---index.php │ │---.htaccess

index.php проверяет URL

$url = explode('/', trim($request));
$this->controller = isset($url[0]) ? $url[0].'Controller':'loginController';

Так что, если бы в корневой папке было только одно веб-приложение, оно бы работало. Но теперь мой URL - это domain.com/webapp1/public/. Я хочу удалить /webapp1/public/ часть из URL.

Мой .htaacess файл в обоих веб-приложениях выглядит так:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ index.php [QSA,L]

Если я поменяю 000-default.conf на:

DocumentRoot "/var/www/html/webapp1/public/"
<Directory "/var/www/html//webapp1/public/">
</Directory>

это работает для webapp1.

Я попытался изменить .htaccess для webapp1 на:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^.*$ /webapp1/public/index.php [QSA,L]

но это не работает.

Буду признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...