Slim 3 - удалить subdir из URL с помощью правила перезаписи
У меня есть общий хостинг на A2Hosting, и я недавно переместил свой основной домен из public_html/
в public_html/subdir/
Вот структура:
/public_html
/subdir(site files of main domain)
/api
index.php
Мой текущий htaccess(public_html):
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.
RewriteRule ^(.*)$ /subdir/$1 [L]
Когда я позвонил в APi, прежде чем это было: domain.com/api/
Но теперь это: domain.com/subdir/api/
Мой доступ в api
является:
RewriteEngine On
RewriteBase /api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
Как удалить "subdir" в URL, чтобы сохранить мой API, как предыдущий? Но все еще указываете рут моего subdir с моим текущим htaccess?
Спасибо
1 ответ
Одним из способов является переписать /api
из основного файла.htaccess в корневом каталоге, например:
RewriteEngine On
RewriteBase /
RewriteRule ^api/(.*)$ ../subdir/api/$1 [R,L,QSA]
Файл.htaccess в новой папке /subdir/api может оставаться таким, какой он есть. Только RewriteBase должен быть настроен.
Другой способ переписать с предыдущего /api
папку, если вы сохранили ее по какой-то причине:
RewriteEngine On
RewriteBase /api
RewriteRule ^(.*)$ ../subdir/api/$1 [L]