Intereting Posts
Как обрабатывать элемент массива в MySQL с помощью PHP? Как изменить WooCommerce Добавить в корзину Кнопка на основе доступности Входные значения, потерянные при отправке формы с ошибками Как использовать Apache / PHP для защиты каталогов от пользователей, которые не вошли в систему Как загрузить динамически генерируемый XML-файл PHP в FLASH Twitter OAuth (PHP): нужен хороший, базовый пример для начала самый быстрый способ выбрать N-й элемент хэша Извлечь URL из строки с помощью PHP Лучший способ прочесть сайт? ffmpeg Получение изображения или миниатюры от видео ошибки SQLSTATE : недопустимый номер параметра: параметр не определен (PDO) База данных PHP / SQL, запрашивающая передовую практику и безопасность Kohana 3.1 – Система не загружает модуль электронной почты Обрезание изображения в браузере автоматически Получить сумму значений, имеющих одинаковое значение для ключевого php-массива

Переписать запрос в подкаталог

У меня есть веб-приложение в каталоге, предполагающее xyz . Я пытаюсь перенаправить все запросы в подкаталог www . Мой текущий код .htaccess:

 RewriteEngine On RewriteRule (.*) /www/$1 [L] 

Но, когда я посещаю http://example.com/xyz/some_url запрос перенаправляется на http://example.com/www/some_url а не на http://example.com/xyz/www/some_url который я хочу.

Обновление: Извините, я забыл упомянуть каталог xyz, поскольку в моем случае, скорее всего, будет переименован. Таким образом, этот каталог не должен быть жестко закодирован в правиле перезаписи

Поместите это правило в /xyz/.htaccess :

 RewriteEngine On RewriteBase /xyz/ RewriteRule ^((?!www/).*)$ www/$1 [L,NC] 

Если ваш DocumentRoot не содержит путь xyz вам нужно указать в RewriteRule.

Например: RewriteRule (.*) /xyx/www/$1 [L]

Это должно работать или быть близким, я думаю:

 RewriteEngine On RewriteBase / RewriteRule ^(.*)/([^/]+)$ $1/www/$2 [L] 

Используйте относительный путь и два файла .htaccess.

Вам нужно удалить только листинг / переписать URL-адрес относительно текущей папки:

 # /xyz/.htaccess RewriteEngine on RewriteRule (.*) www/$1 [L] 

Это перепишет /xyz/foo в /xyz/www/foo .

Чтобы предотвратить перенаправление циклов, добавьте файл .htaccess в подпапку www например:

 # /xyz/www/.htaccess RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 

При необходимости отрегулируйте.