Question regarding URL's

renate.boevink
renate.boevink Product Owner @ Zolemba Spryker Customer Posts: 9 🧑🏻‍🚀 - Cadet

The main question is where does Spryker save his URL's?

I know the spy_url and spy_redirect_url and the two related storage tables. But are there more?

The issue is that I have (product) URLs which I can browse to, but that I cant find in the url or redirect table. I would say, that if it doesnt exist there then that URL should not be working.

Or does it work differently? That a created URL somehow always will be working until it gets redirected? Is there a table where I can see all these URLs?

Answers

  • christiankilb
    christiankilb Software Architect & Technical Lead Posts: 7 🧑🏻‍🚀 - Cadet
    edited September 2023

    Normally, all the product URLs should be existing in spy_url.

    But, to resolve the route, Spryker doesn't make a database lookup because of performance reasons but instead uses Redis.

    You might want to check Redis if the URL is existing in there.
    If it is, there probably is a synchronization issue between your database and Redis.

    I remember a Spryker bug years ago that in case you created redirect URLs in the Backoffice the wrong Redis entry was invalidated, leading to inconsistencies. I don't know if this has been fixed.

    In that case a quickfix would be to clear all the URL entries from Redis and start the syncing again.
    As a long term fix you have to find out what is causing the synchronization issues.

    If you system contains a lot of products it might be handy to replace Spryker's existing URL resolving logic for product URLs and instead rely on URLs that have the product SKU included - so a Redis and Database mapping between a product and an URL is not necessary anymore.