У меня есть этот код, который перенаправляет www.domain.com в файлы pagina / public:
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ pagina/public/$1 [L,NC]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
И я хочу, и новое правило, которое перенаправляет, если URL имеет www.domain.com/panelна панель / public
У меня есть две папки на сервере: pagina / и панель / с общей папкой каждая.
Я пробовал с этим:
RewriteCond %{THE_REQUEST} /panel/([^\s?]*) [NC]
RewriteRule ^panel/ %1 [L,NE,R=302]
RewriteRule ^((?!panel/).*)$ panel/$1 [L,NC]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Но этоне работает, как я могу это сделать?
Спасибо
ОБНОВЛЕНИЕ # 1
Я изменяю de htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^(panel) - [L]
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ pagina/public/$1 [L,NC]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Так что я позволю себе войти внутрьпанель / папка, но если я использую обычный htaccess Slim в панели / подпапке не работает.Есть идеи?
ОБНОВЛЕНИЕ # 2
Теперь проблема была в Slim, поэтому я добавил это в зависимости, и это работает:)
$container['environment'] = function () {
$scriptName = $_SERVER['SCRIPT_NAME'];
$_SERVER['REAL_SCRIPT_NAME'] = $scriptName;
$_SERVER['SCRIPT_NAME'] = dirname(dirname($scriptName)) . '/' . basename($scriptName);
return new Slim\Http\Environment($_SERVER);
};