Хорошо, позвольте мне 1-й прийти чистым. Я ошибочно добавил дату истечения 365 дней в мой файл index.html
. Теперь я внес изменение в файл JS, который изменил имя импорта в моем index.html
, и теперь он пытается импортировать неправильный файл. Упс.
Итак, я думаю, давайте изменим имя файла по умолчанию на другое, не кэшированное.
То, что у меня сейчас
В моем AngularВ проекте я изменил все настройки здания, и теперь мой index.html
файл называется main.html
. Даже сам файл называется main.html
, и, проверяя в моей папке dist, нет index.html
только main.html
.
Я разместил сайт в Google App Engine, и это командаЯ использовал для развертывания после сборки.
gcloud app deploy app.yaml --quiet --project=<project-name>
Вот мой app.yaml
api_version: 1
env: standard
runtime: python27
service: <service-name>
threadsafe: yes
handlers:
- url: /(.*\.(css|eot|gz|html|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
static_files: dist/browser/\1
upload: dist/browser/(.*\.(css|eot|gz|html|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
expiration: "365d"
- url: /.*
static_files: dist/browser/main.html
upload: dist/browser/main.html
secure: always
expiration: "0s"
skip_files:
## bunch of files
Проблема:
Кажется, что Googleвсе еще подает index.html
, хотя, если честно, я не совсем уверен, как проверить. Как сказать ему, чтобы он служил main.html
файлом по умолчанию?
Редактировать 1
Когда я посещаю www.my-domain.com
, он по-прежнему обслуживает старый index.html
. Но когда я перехожу на <project>.appspot.com
(URL-адрес Google), к которому я не был, и я предполагаю, что ни у кого уже не было достаточно времени (не в кеше), это работает.
Похоже, что изменение имени index.html
не имеет значения для провайдеров кеша, только если они получают данные из /
. Я задал еще один связанный вопрос о перенаправлении на другой URL /
=> app
( Перенаправить базу `/` путь к папке в Google App Engine )
Редактировать 2
Используя метод здесь (https://www.maxlaumeister.com/blog/how-to-use-google-app-engine-as-a-free-redirect-server/) Я смог заставить работать перенаправление, поэтому, когда пользователь загружает /
, сервер перенаправляет на /app/
. Это прекрасно работает, для некэшированного appspot.com
URL. Мой пользовательский домен все еще не работает.
Я почти уверен, что какой-то посредник (провайдер ISP или Tier 1) кэширует весь GET-запрос до /
. Не только index.html
или ответ сервера на /
Я не уверен, какие у меня есть другие идеи. Есть ли другие способы уничтожить это кэширование?