Intereting Posts
Удаление повторяющихся строк из нескольких (2) текстовых файлов в PHP Массовая вставка в базу данных MySQL через PHP пропускает имена mongo.so:> undefined symbol: php_json_encode в Unknown on line 0. После установки mongo драйвер для php Использование неопределенной константы STDIN – предполагается «STDIN» в C: \ wamp \ www \ study \ sayHello.php в строке 5 Как создать список архивов в php? PHP if ($ some_var == 1) всегда возвращает true, даже если это не так? Как отправить данные формы с моего сайта на мой адрес электронной почты? PHP удаление символа в строке Передача массива с использованием скрытого элемента формы Html Скидка на корзину по счету корзины и только для предметов, которые не продаются Определить, является ли текст UTF-8 полностью ASCII? Почему использование библиотеки pcntl в php не рекомендуется на prod-serv? Htaccess и учетные записи пользователей перенаправление htaccess с переменными Лучшая сетка данных для php-приложения с использованием ajax

как перенаправить в подпапку, а затем переписать ссылку вложенной папки на root в htaccess?

Я сожалею, если этот вопрос является дубликатом, но все, что я искал в Интернете, смутило меня, поэтому я снова отправляю этот вопрос, задавая свои потребности.

Поскольку я хочу, чтобы структура моего веб-сайта была чистой, я хочу отделить контент от конфигураций, поэтому я помещаю все страницы в папку /app (так же, как приложение rails). Структура веб-сайта будет примерно такой:

 . ├── app │  ├── index.php │  └── products │  └── index.php ├── configs └── layouts 

Я узнал, как перенаправить корень в папку /app в .htaccess следующим образом:

 RewriteEngine on RewriteRule ^$ /app [L] 

Когда я обращаюсь к серверу, apache перенаправляет в папку /app а URL-адрес – localhost/app .

Я хочу переписать URL-адреса, чтобы удалить /app . Например, когда я посещаю папку /products/ я не хочу, чтобы url выглядел следующим образом: localhost/app/products/ Я хочу, чтобы это выглядело так: localhost/products/

Я googled решение, и я узнал, что, в значительной степени, как это сделано для worpress, вам нужно только добавить:

 RewriteEngine on RewriteRule ^$ /app [L] RewriteRule %{REQUEST_URI} ^/app/.* RewriteRule ^(.*)$ app/$1 [L] 

однако это просто не работает, и apache возвращает 500 internal server error .

Я пытался:

 RewriteEngine on RewriteRule ^$ /app [L] RewriteRule %{REQUEST_URI} !^/app/ RewriteRule ^(.*)$ app/$1 [L] 

а также

 RewriteEngine on RewriteRule ^$ /app [L] RewriteRule %{REQUEST_URI} !^/app/.* RewriteRule ^(.*)$ app/$1 [L] 

и оба возвращают 500 internal server error .

Я также пробовал:

 RewriteEngine on RewriteRule ^$ /app [L] RewriteCond %{REQUEST_URI} !^/app/ RewriteRule ^(.*)$ app/$1 [L] 

но /app все еще в URL!

Как я могу это сделать?

Пытаться :

  RewriteEngine on #--Redirect /app/foobar to /foobar--# RewriteCond %{THE_REQUEST} /app/([^\s]+) [NC] RewriteRule ^ /%1 [NC,L,R] #--Rewrite /foobar to /app/foobar--# RewriteCond %{REQUEST_URI} !^/app RewriteRule ^(.*)$ /app/$1 [NC,L,QSA]