Как переписать index.php Codeigniter в Windows Azure - PullRequest
10 голосов
/ 01 апреля 2012

Как удалить index.php в codeigniter в Windows Azure и IIS?

Можно ли переписать URL-адрес для index.php Codeigniter без определенного модуля?

Ответы [ 3 ]

14 голосов
/ 01 апреля 2012

Вы можете добавить правила перезаписи в ваш файл web.config.Добавьте в раздел 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> 
10 голосов
/ 03 декабря 2012

Создать имя файла web.config в 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>
1 голос
/ 21 декабря 2013

Вы также можете реализовать другие правила перезаписи, такие как

<rule name="a rule">
<match url="^xxx/(.*)/(.*)-(.*)\.xxx" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="controller/method/{R:3}" />
</rule>

с одним условием - изменить $ config ['url_protocal'] = 'PATH_INFO'; в config / config.php это скажет модулю перезаписи URL использовать переписанный URI вместо оригинального URL, иначе у вас будет 404 страница не найденная проблема.

...