2012-04-01 6 views

Antwort

14

Sie können in Ihrer Datei web.config Überschreibregeln hinzufügen. Fügen Sie die folgenden zum system.webServer Abschnitt:

<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> 
+0

Danke, es funktioniert perfekt :) – Rbeuque74

+0

Diese Einstellung sollte auf den meisten PHP-Frameworks funktionieren (zend 1/2, laravel etc) –

+0

Dies funktionierte nicht für mich und dann erkannte ich, dass ich den Verweis auf meine index.php verschoben Datei in einen Anwendungsordner (für Codeigniter) so vielleicht eine gute Sache zu erinnern ist, dass diese Datei sein sollte, wo die index.php Datei für Sie ist. – Dusan

10

Erstellen Sie einen Dateinamen web.config in 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

Sie auch andere Rewrite-Regeln wie

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

mit einer Bedingung implementieren kann, ist das Ändern von $ config ['url_protocal'] = 'PATH_INFO'; In config/config.php teilt dies dem URL-Rewrite-Modul mit, dass anstelle der ursprünglichen URL ein erneut geschriebener URI verwendet wird. Andernfalls wird das Problem 404-Seite nicht gefunden.

Verwandte Themen