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]
Другие вопросы по тегам