Как изменить код чтобы открывались файлы?

Ссылка скопирована
1 ответ
// Редирект с прописных на строчные /*if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) ) {     header('Location: //'.$_SERVER['HTTP_HOST'] . strtolower($_SERVER['REQUEST_URI']), true, 301);     exit(); }*/

// Редирект с прописных на строчные /*if ( $_SERVER['REQUEST_URI'] != strtolower( $_SERVER['REQUEST_URI']) ) { header('Location: //'.$_SERVER['HTTP_HOST'] . strtolower($_SERVER['REQUEST_URI']), true, 301); exit(); }*/

Вставили этот код для редиректа с прописных на строчные. Но с ним не открываются файлы, не дает редактировать категории, страницы (закрывается полностью редактирование файлов и сайта через админку).
Как его можно переписать, чтобы не влияло на админку?

Дополнительно

Не надо ставить как можно больше тэгов. Лучше оставить один, но конкретный, с которым проблема.
См.п.3.1 Регламента.

  • А можно уточнить - зачем данное действие?
  • Анатолий Куликов, редирект с верхнего регистра на нижний
  • Илья Деревянных, ну по коду-то понятно, не понятен смысл
  • Анатолий Куликов, поисковик видит 2-одинаковые страницы на разных адресах
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Сергей Миронов Ответ

    Если «не открываются файлы», нужно понять, что именно делает код: отдаёт файл пользователю, открывает его на сервере, формирует ссылку или защищает скачивание. Без кода точную правку не назвать, но типовые причины повторяются.

    Проверьте:

    • правильный путь к файлу;
    • файл реально существует;
    • у веб-сервера есть права на чтение;
    • не перепутан URL и filesystem path;
    • правильно выставлен Content-Type;
    • нет лишнего вывода до headers.

    Для проверки файла на сервере:

    $path = WP_CONTENT_DIR . '/uploads/file.pdf';
     
    if (! file_exists($path)) {
        wp_die('Файл не найден');
    }

    $path = WP_CONTENT_DIR . '/uploads/file.pdf'; if (! file_exists($path)) { wp_die('Файл не найден'); }

    Отдать файл пользователю:

    header('Content-Type: application/pdf');
    header('Content-Disposition: inline; filename="file.pdf"');
    header('Content-Length: ' . filesize($path));
    readfile($path);
    exit;

    header('Content-Type: application/pdf'); header('Content-Disposition: inline; filename="file.pdf"'); header('Content-Length: ' . filesize($path)); readfile($path); exit;

    Если до header() уже был HTML/пробел/BOM, PHP выдаст ошибку headers already sent. Тогда файл не откроется корректно.

    Если файл должен открываться по ссылке, сначала просто откройте прямой URL в браузере. Если прямой URL не работает, проблема не в PHP-коде, а в пути, правах или настройках сервера.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно