Я установил Wordpress, и постоянный формат по умолчанию - "/index.php/post-name". Я хочу изменить его на «/ post-name», поэтому URL будет «domain.com/blog/» вместо «domain.com/index.php/blog», но это вызывает некоторые странные проблемы. Я видел другие сообщения в Stackoverflow с той же проблемой, но не смог найти точного ответа.
Когда постоянная ссылка установлена на "/index.php/post-name", кажется, что все работает нормально. Когда я изменяю его на "/ post-name", начинаю получать сообщение об ошибке
Ошибка публикации. Сообщение об ошибке: Ответ не является допустимым JSON ответом.
Интересно, что при просмотре инструментов разработчика, при попытке опубликовать sh страницу с помощью "/index.php/ post-name "запрос отправляется hxxps: //domain.com/index.php/wp-json/wp/v2/taxonomies/post_tag? context = edit & _locale = user , но когда я пытаюсь это сделать с «/ post-name» запрос отправляется на hxxps: //domain.com/wp-json/wp/v2/pages/ [[POST ID]]? _ locale = user , который возвращает 404.
Мой .htaccess выглядит следующим образом, после попытки последовать совету из других ответов:
Options +FollowSymlinks
RewriteEngine on
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Предварительно это было:
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
выполнение a2enmod retwrite возвращает статус «Перезапись модуля уже включена». Я установил плагин Classi c Editor, который, кажется, публикует sh, но затем пытается получить доступ к файлу, возвращает 404.
Моя среда - Ubuntu 16.04.4 LTS. Любая помощь будет принята с благодарностью!