Cómo volver a escribir el index.php de Codeigniter en Windows Azure
iis rewrite (3)
¿Cómo eliminar index.php en codeigniter en Windows Azure e IIS?
¿Puedo volver a escribir la URL para index.php de Codeigniter sin un módulo en particular?
Puede agregar reglas de reescritura en su archivo web.config. Agregue lo siguiente a la sección system.webServer
:
<rewrite>
<rules>
<rule name="Rule" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Crea un nombre de archivo web.config en wwwroot
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
También puede implementar otras reglas de reescritura como
<rule name="a rule">
<match url="^xxx/(.*)/(.*)-(.*)/.xxx" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="controller/method/{R:3}" />
</rule>
con una condición, es cambiar $ config [''url_protocal''] = ''PATH_INFO''; en config / config.php esto le dirá al módulo de reescritura de URL que use el URI reescrito en lugar de la URL original, de lo contrario, usted no tendrá un problema con la página 404 no encontrada.