Я использую Lesti FPC на сайте Magento с 10 группами клиентов и множеством категорий / продуктов.
Я создал сценарий оболочки, который читает sitemap.xml и wget каждый URL-адрес в течение ночи для создания кеша сайта. Это отлично подходит для гостей, но когда пользователь группы клиентов входит в систему, они сами создают кеш (если они первые в день).
Кто-нибудь знает, как создать сценарий оболочки, который мог бы имитировать сам журнал, а затем тралить сайт? Возможно ли даже, что сценарий оболочки содержит свою собственную информацию о сеансе / cookie, чтобы оставаться включенным? а если нет, то другие идеи?
Большое спасибо
Таким образом, благодаря некоторым Googling и множеству проб и ошибок, я нашел решение, которое, как я думал, я бы поделился.
Вы можете использовать WGET для хранения информации о сеансе / cookie, сохраняя и загружая файлы cookie. У Magento есть свои ограничения, так как вам нужно установить cookie сеанса перед входом в систему или сценарий будет перенаправлен на страницу «enable-cookies», а не на вход в систему, так что вот сценарий;
#!/bin/bash # Establish a session and nab the cookie wget --save-cookies cookies.txt \ http://www.yourmagentourl.co.uk/ # Post your user credentials to login and update the cookie wget --save-cookies cookies.txt \ --load-cookies cookies.txt \ --post-data 'login[username]=USERNAME&login[password]=PASSWORD' \ http://www.yourmagentourl.co.uk/customer/account/loginPost/ # Load the cookie for each page you want to WGET to maintain the session wget --load-cookies cookies.txt \ -p http://www.yourmagentourl.co.uk/some-category.html
Это основа, поэтому очень легко загрузить все URL-адреса из файла sitemap.xml и построить зарегистрированные в кэше версии.
Поддержки к Grafista для руля по сохранению информации о файлах cookie.
Счастливое кэширование!
РЕДАКТИРОВАТЬ – КАК ЗАПРОСИТЬ ПОКАЗАТЬ ОРИГИНАЛЬНЫЙ КОД
Вот код для циклического перемещения по карте сайта и загрузки каждой страницы для создания кеша для гостей. Сохраните это как cachewarm.sh и создайте cronjob, чтобы запускать его каждую ночь (не забудьте сначала удалить или истечь ваш pagecache)
#!/bin/bash # Pixie Media https://www.pixiemedia.co.uk # Use the sitemap and reload the Page Cache by accessing each page once # wget --quiet http://YOUR-URL.co.uk/sitemap.xml --output-document - | egrep -o "http://YOUR-URL.co.uk/[^<]+" | wget -q --delete-after -i -