Intereting Posts
Возможно ли создать пользовательское Cookie, чтобы пользователь вошел в состав SSL Multisite Добавление формы поиска в div Как переписать конкретный параметр в базовой таксономии? как определить класс цикла последнего класса в третьем Настройка изображения с функцией, 1 часть не работает боковая панель не отображается при использовании данных Показывать авторскую страницу без записей Проблема с запросами wpdb, wp_insert_post, wp_insert_user и т. Д. Запрос выполняется дважды Добавить структуру экрана Сохранение структуры категории Как получить WordPress для разбора / mypage / area / value как / mypage /? Area = value? Создание формы онлайн-анкеты – путем импорта вопросов из электронной таблицы? Как скрыть значения метаданных из списка настраиваемых полей? Поиск WP в метаданных Удалить Genericons Helper CSS из темы двадцать четвертая Как скрыть / удалить страницы в меню (панель инструментов)

Как удалить 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.

Solutions Collecting From Web of "Как удалить index.php в URL?"

Поместите этот код в файл 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.