Member 11477757 Ответов: 0

Как сделать ЧПУ в классическом ASP ?


вот мой код, Пожалуйста, помогите мне разобраться, что это дает мне ошибку.и я установил модуль перезаписи url.

исходный url-адрес :
webasp2.asp?ID=1&Name=textname

и переписать:
webasp2/textname


я хочу сделать динамично, а не статично.

HTTP Error 500.52 - URL Rewrite Module Error.
The condition's expression "{DB:{R:1}}" is not valid.


таблица
CREATE TABLE [dbo].[RewriteTable](
    [OriginalUrl] [nvarchar](256) NOT NULL,
    [NewUrl] [nvarchar](256) NOT NULL
) ON [PRIMARY]

хранимая процедура
Create PROCEDURE [dbo].[GetRewrittenUrl]
@input nvarchar(256)
AS
SELECT rt.NewUrl
FROM dbo.RewriteTable rt
WHERE rt.OriginalUrl = @input




Код конфигурационного файла:
<system.webServer>
   <rewrite>
     <providers>
       <provider name="DB" type="DbProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=7.1.761.0, Culture=neutral, PublicKeyToken=0545b0627da60a5f">
         <settings>
           <add key="ConnectionString" value="Data Source=DOTNET-PC\SQLEXPRESS; Initial Catalog=JigarMVC;Persist Security Info=True;User ID=sa;Password=sql123#;" />
           <add key="StoredProcedure" value="GetRewrittenUrl" />
           <add key="CacheMinutesInterval" value="0" />
         </settings>
       </provider>
     </providers>
     <rules>
       <rule name="DbProviderTest" stopProcessing="true">
         <match url="(.*)" />
         <conditions>
           <add input="{DB:{R:1}}" pattern="(.+)" />
         </conditions>
         <action type="Redirect" url="{C:1}" appendQueryString="false" />
       </rule>
     </rules>
   </rewrite>
 </system.webServer>

0 Ответов