Маршрутизация .htaccess в домене ip с параметром ~ user (apache UserDir)

Я разработал приложение на PHP, используя систему маршрутизации через .htaccess и до сегодняшнего дня мне удалось без проблем развернуть это приложение в любой серверной среде.

Сегодня мой клиент попросил меня развернуть приложение на своем сервере, с которым еще не связан ни один домен, и по этой причине он предоставил мне IP-адрес, чтобы я мог проверить, все ли в порядке. Проблема заключается в том, что для этого IP-адреса в URL-адресе должен присутствовать параметр имени пользователя, что приводит к тому, что выполнение всегда будет перенаправлено на страницу ошибки 404 по умолчанию на сервере.

IP выглядит примерно так (некоторые значения были изменены):

http://192.185.65.31/~gef/

Если я выполню только эту ссылку без каких-либо дополнительных параметров, я смогу serverindex.php файл, который настроен, чтобы быть моим DirectoryIndex в .htaccess,
Но если я попытаюсь добавить больше параметров, таких как язык, например (en/), Я автоматически перенаправлен на страницу 404.

мой .htaccess Конфигурация маршрутизации выглядит следующим образом:

DirectoryIndex serverindex.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . serverindex.php

Эта конфигурация всегда позволяла мне получать и манипулировать URL-адресом, как показано ниже:

Example: http://example.com/param1/param2/param3

Array
(
[0] => param1
[1] => param2
[2] => param3
)

Как я могу установить .htaccess чтобы я оставил имя пользователя без изменений в URL (чтобы сервер мог обработать его и зарегистрировал правильную учетную запись пользователя) и передал следующие данные в качестве параметров в приложение?

Example: http://example.com/~username/p1/p2/p3

Array
(
[0] => p1
[1] => p2
[2] => p3
)

0

Решение

У вас есть относительный путь для вашего целевого сценария. Вам может понадобиться добавить RewriteBase чтобы это работало, например

RewriteBase /~gef/
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]