Intereting Posts
Различные размеры изображений на странице продукта, жесткие уроки не отмечены, но все еще видны обрезанные миниатюры Обновляемый безопасный перевод одиночной текстовой строки в плагине Отображать номер сообщения без номера сообщения Изменить тему на основе размера окна Сделать нужное изображение Нежелательная пустая строка в начале документа Формат короткого кода для пометки кота при публикации по электронной почте Как посетить php-файл в моем настраиваемом каталоге в корневом каталоге сайта Как сделать главный экран моего блога не показывать полные сообщения? Настроить электронную почту, отправленную по заказу страница результатов пользовательского поиска показывает одинаковые данные на всех страницах Комментарии отключены, но ссылка «Оставить ответ» все еще существует Разметка WordPress с получением значения Файл комментариев по умолчанию и способы его копирования Использование pre_get_posts для фильтрации сообщений, проблема разбивки на страницы

Как удалить index.php в URL?

Я установил wordpress в подкаталог ( blog ). В корневом каталоге я установил Magento. Теперь каталог файлов выглядит следующим образом:

 app downloader includes media .... blog/wp-admin 

Мой сервер – nginx . Когда я устанавливаю URL-адрес в параметрах Permalink wordpress для:

 http://www.example.com/blog/index.php/sample-post/ 

… все сообщения доступны. Теперь я хочу удалить index.php из этого URL-адреса. Как мне это сделать? Когда я устанавливаю настраиваемую структуру …

 http://www.example.com/blog/sample-post/ 

… URL-адреса не разрешены WordPress, и я получаю 404.

Поместите этот код в файл functions.php

  add_filter( 'got_rewrite', '__return_true', 999 ); 

Обновить:

Функция get_mod_rewrite () проверяет, является ли текущий сервер apache или не используется функция apache_mod_loaded () . Поскольку мы используем nginx, он возвращает false. Поэтому wordpress добавляет index.php в URL.

Используя фильтр got_rewrite, мы говорим wordpress, что мы переписываем на нашем сервере.

Проблема, вероятно, связана с настройками сервера в Nginx для вашего блога. Вероятно, правила местоположения для / blog / неправильны, в частности try_files. Он должен выглядеть так:

 location /blog/ { try_files $uri $uri/ /index.php$is_args$args; } 

Это указывает Nginx порядок, в котором он должен попытаться найти запрошенный ресурс. Сначала начнется попытка поиска точного объекта в URL-адресе. Если этого не существует, он попытается найти этот объект в качестве каталога. Если этого не существует, он передаст запрос index.php вместе с любыми аргументами или строками запроса, если они есть. Поскольку index.php в основном обработчике для WordPress, это заставит WordPress найти запрашиваемую страницу или сообщение на основе ваших правил перезаписи.

Прекрасная вещь в этой конфигурации заключается в том, что теперь вы можете изменить свою структуру permalink на все, что поддерживает WordPress, не изменяя ваши правила Nginx. Это также рекомендуемый метод использования явных правил перезаписи в Nginx.