Почему после перезагрузки страницы 404 ошибка?
Добрый день, подскажите пожалуйста как решить проблему. После перехода на страницу все кроме главной после перезагрузки 404 ошибка. Перед добавлением WP удалость решить эту проблему через .htaccess file добавлением
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [L] |
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [L]
весь файл htaccess
# BEGIN LSCACHE # END LSCACHE # BEGIN NON_LSCACHE # END NON_LSCACHE Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [L] # 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 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
# BEGIN LSCACHE # END LSCACHE # BEGIN NON_LSCACHE # END NON_LSCACHE Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [L] # 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 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Настройки permalink (/%postname%/%category%/).
Дополнительно:
Ответы:
За wordpress не смогу подсказать.
На стороне vue routera проблема решается настройкой "истории" https://router.vuejs.org/guide/essentials/history-...
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
У вас смешались правила для SPA/статического сайта и правила WordPress. Строка
RewriteRule ^ index.html [L]отправляет все несуществующие URL вindex.html. Для WordPress это неправильно: запросы должны попадать вindex.php, иначе после обновления страницы на внутренних URL сервер не отдаёт нормальную маршрутизацию WordPress.Для Apache оставьте стандартный блок WordPress и уберите ручной rewrite на
index.html:# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
После правки зайдите в админку:
Настройки → Постоянные ссылкии нажмите «Сохранить», чтобы WordPress пересоздал правила. Если используется LiteSpeed Cache, очистите кэш.Если часть сайта действительно является SPA, её нужно размещать в отдельной папке или на отдельном маршруте и писать rewrite только для этой папки. Глобальное правило на
index.htmlв корне будет конфликтовать с WordPress, REST API, страницами, записями и архивами.