Реализация перезаписи URL с использованием файла .htaccess без влияния на $ _SERVER [‘SCRIPT_NAME’]

Я хочу настроить SaaS (программное обеспечение как услуга) версию моего продукта ERP. Каждый пользователь, который приобретает продукт, может получить доступ к продукту с помощью URL-адреса, который будет определенным для каждого пользователя (например, erp.com/user1/). Но не будет физической папки, созданной для каждого пользователя, она будет виртуальной, и там будет одна копия файла программы, которая будет в корневом каталоге.

Я попытался с файлом htaccess и здесь с включенным кодом, который я написал, это не универсальное решение, это будет работать только для случая ‘folder1’

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^folder1/(.*)$ /$1 [QSA]
</IfModule>

Проблема в том, что когда я реализую $ _SERVER [‘SCRIPT_NAME’] возвращает ‘erp.com/’, вместо этого мне нужно получить ‘erp.com/folder1/’, также, пожалуйста, предложите мне общее решение проблемы.

Спасибо.

1

Решение

Вместо $_SERVER["SCRIPT_NAME"] вам нужно использовать:

$_SERVER["REQUEST_URI"]

это будет иметь значение:

/folder1/foobar

Общее правило:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^/]+/(.*)$ /$1 [L]
0

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

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

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