Intereting Posts
Как получить все заголовки сообщений определенного типа сообщений? Как добавить виджет в представление редактирования публикации? Обновление MySQL 5.5 «сломано» WordPress Создать меню входа в систему Разработка плагина error_option пользовательская заголовочная навигация имеет нечетное расстояние Персональная страница для каждого пользователя (не только для авторов) Shortcode для вытягивания определенного внешнего контура заголовка сообщения, когда идентификатор передается в Внутренняя ссылка на постоянную ссылку на сообщения не работает из-за пробелов и полосок при имени Проверить, существует ли публикация по категории и дате Как добавить класс в мета-окна (чтобы настроить их в CSS)? Как я могу заменить содержимое в области WP Admin до того, как страница администратора будет отображаться? Использование flickr api в пользовательском плагине WordPress Как создать миниатюру сообщения Выделить текущую категорию в wp_list_categories

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