ASP динамические URL-адреса из базы данных SQL Server - PullRequest
0 голосов
/ 03 сентября 2010

Привет всем, у меня есть база данных, которая содержит информацию о моем продукте, которую вы можете увидеть здесь, на странице каталога:

http://www.marioplanet.com/catalog.asp

Мне бы хотелось, чтобы сейчас были созданы страницы продукта с URL-адресами, сгенерированными по определенному имени в моей базе данных.

Например, если вы указываете свой браузер на указанную выше ссылку и смотрите на первый продукт (Mario (Running) - Plush), я хотел бы, чтобы URL-адрес создавался на основе этого имени.

Итак, вы бы пошли на http://www.marioplanet.com/Mario_(Running)_Plush.asp или что-то в этом роде.

Теперь я не уверен, как это сделать правильно, поэтому я действительно мог бы использовать некоторую помощь.

Какой самый простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Создание URL-адресов - это простая часть:

<%
    Dim productName
    Dim categoryName
    Dim url

    Do While rsProducts.EOF = False  
        productName = rsProducts("ProductName")
        categoryName = rsProducts("CategoryName")
        url = "http://www.marioplanet.com/Mario_" + categoryName + "_" + productName + ".asp"
%>      
    <a href="<%Response.Write url%>">
      <%Response.Write categoryName + "-" + productName %>
    </a><br>
<% rsProducts.MoveNext
  Loop   %>

Затем вам необходимо убедиться, что:

  • все эти страницы созданы / существуют на диске
  • настроить обработчик IIS, чтобы обеспечить их правильную маршрутизацию.

Лучший маршрут

Предлагаем создать URL-адрес, например:

 http://mysite.com/jackets.asp?p=Vuitton

Затем просто сделайте одну страницу для каждой категории (куртки, обувь, кошки, лошади).В каждом из них выберите название продукта / SKU из параметра строки запроса.Вы можете использовать приведенный выше код с небольшими изменениями.Вам, безусловно, нужно будет принять некоторые меры при запросе Vuitton о том, что это не атака с использованием SQL-инъекций.

Затем вам нужно будет перейти с .htm на .asp, только если страница загружает информацию избазы данных.

1 голос
/ 03 сентября 2010

Самый простой способ - это купить корзину с возможностью уже там.Это сэкономит вам массу головных болей на арене соответствия PCI, если вы принимаете платежи.(Это не значит, что это умный ответ. Пока вы не застряли с необходимостью соблюсти соответствие и пройти аудиторские проверки, вы действительно не представляете, для чего вы работаете.) И есть несколько открытых тележек, которые сделают это за васа также, если вы не хотите платить.

Я не знаю, что есть простой способ сделать это в классическом ASP.С ASP.NET, маршрутизация URL хорошо покрыта и обработана.Я полагаю, что Microsoft прекратила выпускать обновления для классического asp задолго до того, как изменение URL-адреса вошло в моду.Я полагаю, что вам придется написать что-то самостоятельно в чем-то отличном от классического asp, чтобы справиться с этим на уровне IIS.

...