2009-08-22 6 views
1

Premier coup d'oeil à cette adresse:passage Répertoire non Existant En tant que paramètre dans IIS ou Apache

https://stackoverflow.com/questions/tagged/xoxoxo/

Ce répertoire n'existe pas, mais stackoverflow peut en quelque sorte passer ce dernier répertoire en tant que paramètre à son scénario de base. Est-ce possible de configurer IIS ou Apache pour ce faire? Comment?

+0

Quand je suis ce lien que je viens d'obtenir l'en-tête de la page, pas de contenu. – pipTheGeek

+0

Non, vous pouvez voir à droite: 0 questions tagué – EBAG

+0

Voir aussi cette page signifie que ce répertoire inexistant gère en quelque sorte – EBAG

Répondre

5

Le mécanisme derrière ce genre de comportement est appelé url réécriture et peut être mis en œuvre dans Apache avec les mod_rewrite -modules et dans IIS avec soit hélicons ISAPI_Rewrite Lite (ou l'une des alternatives non libres offertes par Helicon) pour IIS 5.1 et ou avec le Microsoft URL Rewrite Module for IIS 7. Par exemple, les paramètres suivants garantiront que toutes les demandes qui ne peuvent pas être mises en correspondance sur un fichier ou un répertoire existant seront transférées vers le fichier index.php.

mod_rewrite (.htaccess dans votre répertoire racine de document ou quelque part dans votre httpd.conf)

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] // IF is file (with size > 0) 
RewriteCond %{REQUEST_FILENAME} -l [OR] // OR is symbolic link 
RewriteCond %{REQUEST_FILENAME} -d  // OR is directory 
RewriteRule ^.*$ - [NC,L]    // DO NOTHING 
RewriteRule ^.*$ index.php [NC,L]  // TRANSFER TO index.php 

ISAPI_Rewrite Lite (dans la boîte de dialogue appropriée de vos paramètres IIS)

// uses same syntax as mod_rewrite 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

Microsoft URL Rewrite Module (dans votre web.config dans le répertoire racine du document ou seomewhere dans l'arborescence de configuration)

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <clear /> 
       <rule name="MatchExistingFiles" stopProcessing="true"> 
        <match url="^.*$" /> 
        <conditions logicalGrouping="MatchAny"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" ignoreCase="false" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" ignoreCase="false" /> 
        </conditions> 
        <action type="None" /> 
       </rule> 
       <rule name="RemapMVC" stopProcessing="true"> 
        <match url="^.*$" /> 
        <conditions logicalGrouping="MatchAll" /> 
        <action type="Rewrite" url="index.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
Questions connexes