¿Cuál será la regla de reescritura de URL para esto?

Tengo una aplicación web estática en un alojamiento de Windows de Godaddy.

En mi aplicación tengo URL como las siguientes:

http://MyDomain.com/?page_id=18
http://MyDomain.com/?page_id=19
http://MyDomain.com/?page_id=20

Y quiero que las URL reescritas sean así:

http://MyDomain.com/microsoft-cloud-crm-for-small-business
http://MyDomain.com/online-development
http://MyDomain.com/small-development

Entonces, ¿cuál será la regla de reescritura de URL en el archivo web.config?

EDIT:

<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<rewrite>
    <rules>
    <rule name="Rewrite url" stopProcessing="true">
        <match url="^\?page_id=18" />
                    <action type="Rewrite" url="microsoft-cloud-crm-for-small-business" />
    </rule>
    <rule name="Rewrite url1">
        <match url="^\?page_id=21" />
                    <action type="Rewrite" url="Implementation" />
    </rule>
    </rules>
</rewrite>
</system.webServer>
<system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>
</configuration>

Gracias de antemano.

preguntado el 25 de septiembre de 12 a las 06:09

3 Respuestas

<rewrite>
<rules>
<rule name="Rewrite url">
    <match url="^?page_id=18" />
    <action type="Rewrite" url="custom-development.html" />
    </rule>
</rules>
</rewrite>

Respondido el 25 de Septiembre de 12 a las 07:09

Es posible que desee considerar el uso de un RewriteMap para que no necesite escribir cada expresión regular. - Por

Necesita obtener un mensaje de error detallado. Ver support.godaddy.com/help/article/3430/… - MWC

The expression "^?page_id=18" contains a repeat expression (one of '*', '?', '+', '{' in most contexts) not preceded by an expression. - Vishal Suthar

Lo siento amigo. poner un '\' informado de '?'. ' '- MWC

Ok... El error desapareció... pero ahora no pasa nada en absoluto... no se reescribe en MiDominio.com/desarrollo-personalizado.html - Vishal Suthar

Hola, en realidad no estoy usando una URL de extensión .html. Reescritura. estoy usando una url sin extensión Reescritura y qué url está diciendo que creo reglas para esa url en mi proyecto que está a continuación

<add name="test"  virtualUrl="^~/test-page/([0-9,a-z,A-Z,_,-]*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/test.aspx?cid=$1"
  ignoreCase="true" />

Creo que esto te ayudará...

Respondido el 25 de Septiembre de 12 a las 08:09

Bueno, si está utilizando asp.net con .Net versión 4.0, también puede obtener los beneficios de RouteCollection en sus proyectos de formularios web.

Al usar esto, puede mapear fácilmente su URL con una regla de navegación particular.

Por ejemplo, en su caso, si "microsoft-cloud-crm-for-small-business" es un nombre idéntico de cualquier tabla, puede poner el siguiente código en global.asax...

 routes.MapPageRoute(
               "ViewPageDetail",               // Route name
               "/{*CategoryName}",  // Route URL
               "~/PageDetail.aspx"      // Web page to handle route
            );

Y luego, en la carga de su página, puede tener algo como seguir.

string productName = Page.RouteData.Values["CategoryName"] as string;

y use el nombre del producto para obtener detalles del producto.

De esta manera, puede lograr una mejor integridad del código con su lógica y la página que se está procesando. Esta es una de las cosas nuevas en asp.net 4.0 para SEO.

Usted poder revisar para un mejor entendimiento.

Muchas Gracias

Respondido el 25 de Septiembre de 12 a las 11:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.