Страница 1 из 1
.htaccess убрать папку из пути
Добавлено: 05.11.2019, 17:01
Ivan2018
Пробую убрать папку из пути, так:
Код: Выделить всё
RewriteRule ^pages\/(.+)$ https://sait.ru/$1 [R=301,L]
выходит на ошибку 404, как верно написать?
Добавлено: 06.11.2019, 08:33
zyxer
вот такой код:
редиректит с /pages/oplata на /oplata
Настоятельно рекомендую во время экспериментов с редиректами в .htaccess делать их 302, т.к. 301 кешируется (что возможно у вас и случилось), и это не возможно дебажить.
Добавлено: 06.11.2019, 08:55
Ivan2018
Так и написал сейчас:
Мне нужно со страницы /pages/pages.php на /pages.php (php страницы сделал сам в папке pages)
Однако, пишет в адресной строке (верно!!!)
, а на страницу попадаем "Страница не найдена 404"
может быть кроме этой 1 строки еще, что-то нужно писать?
Добавлено: 06.11.2019, 09:01
zyxer
я правильно понял что если просто зайти на
https://sait.ru/pages.php, вы получаете 404? Еще я предполагаю что у вас есть директория pages/ в которой лежат файлы php, но вы хотите чтобы они отображались как будто в корне лежат?
Добавлено: 06.11.2019, 09:31
Ivan2018
zyxer писал(а):то если просто зайти на
https://sait.ru/pages.php, вы получаете 404? Еще я предполагаю что у вас есть директория pages/ в которой лежат файлы php, но вы хотите чтобы они отображались как будто в корне лежат?
да, все верно думаете!!! Мне нужно, чтоб словно в корне лежат страницы, а не в папке.
Добавлено: 06.11.2019, 11:13
zyxer
Разве что для каждого файла прописывать
Код: Выделить всё
RewriteRule page.php pages/page.php [L,QSA]
.
Если дадите более развёрнутое требование, что должно получиться на выходе, может быть я предложу другой вариант решения ))
Добавлено спустя 5 минут 57 секунд:Можно что-то типа такого
Код: Выделить всё
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.+)\.php pages/$1.php [L,QSA]
но мне не сильно нравиться эта идея, и не понятно как правильно обработать несуществующий файл
Добавлено: 07.11.2019, 05:40
Ivan2018
Оба кода проверял не работают.
Задача стоит простая прямые ссылки, чтоб открывались без папки и все.
Несуществующий файл можно не обрабатывать и не думать про это, пока не решена первая задача.
Добавлено: 07.11.2019, 08:54
zyxer
Странно, у меня работают. Их нужно добавлять в файл сразу после RewriteEngine on, может еще попробуйте настроить RewriteBase, мож пути сбиваются...