Почему после настройки кеша в .htaccess перестали работать ajax запросы на php файлы? Добрый день!
Коллега решил попробовать настроить кеширование и вставил код в .htaccess который выведен в конца вопроса. После этого все аякс запросы которые идут на файлы .php возвращают 500 ошибку. Такое чувство, что закешировались пустые файлы .php к которым идет запрос. Помогает только пересохранить файл, тогда ошибка пропадает, но лишь на время. Код с .htaccess удалил, но ошибки всеравно периодически возникают. Кто сталкивался с подобным? Есть ли способ как-то это исправить?
Заранее благодарен.
# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg
# Compress compressible fonts
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-opentype image/svg+xml
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
# special MIME type for icons - see http://www.iana.org/assignments/media-types/image/vnd.microsoft.icon
AddType image/vnd.microsoft.icon .ico
# now we have icon MIME type, we can use it
# my favicon doesn't change much
ExpiresByType image/vnd.microsoft.icon "access plus 3 months"
# Cache Images
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/svg+xml "access plus 2592000 seconds"
# Cache Fonts
ExpiresByType application/vnd.ms-fontobject "access plus 2592000 seconds"
ExpiresByType application/x-font-ttf "access plus 2592000 seconds"
ExpiresByType application/x-font-opentype "access plus 2592000 seconds"
ExpiresByType application/x-font-woff "access plus 2592000 seconds"
ExpiresByType image/svg+xml "access plus 2592000 seconds"
# Cache other content types (Flash, CSS, JS, HTML, XML)
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/javascript "access plus 2592000 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"

21 Авг 2019 в 06:24
257 +1
0
Ответы
1

Кажется, проблема может быть связана с настройкой кэша в .htaccess, которая влияет на поведение AJAX запросов к PHP файлам.

Этот код в .htaccess добавляет кэширование ресурсов на сервере и устанавливает время хранения для различных типов файлов. Возможно, AJAX запросы к PHP файлам не работают из-за того, что эти файлы кэшируются на сервере и не обновляются при каждом запросе.

Если вам необходимо использовать AJAX запросы к PHP файлам, то вам нужно исключить эти файлы из кэширования. Для этого можно добавить директиву Header set Cache-Control "no-cache" перед блоком с кэшированием в .htaccess для соответствующих PHP файлов.

Пример:

<FilesMatch "\.php$">
Header set Cache-Control "no-cache"
</FilesMatch>

Попробуйте добавить такую директиву и проверьте, поможет ли это исправить проблему с AJAX запросами к PHP файлам. Если проблема сохраняется, возможно есть другие настройки .htaccess или сервера, которые также влияют на работу AJAX запросов.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир