Domanda

Ho un problema Mod_Rewrite. O più precisamente, ho un problema con ISAPI_Rewrite, che è un clone Mod_Rewrite per IIS. In particolare, ISAPI_REWRITE V3 in esecuzione su IIS 7. Mira a comportarsi in modo identico a mod_rewrite, quindi spero che il mio problema si applichino anche a mod_rewrite.

Il mio problema si riduce a questo: ho una sceneggiatura bar.php a cui voglio accedere tramite l'URL foo. Io prima riscrivo foo a bar. Quindi prova a convertire l'URL pulito in un nome file reale.

RewriteRule ^foo$ bar

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php

Il RewriteCond sta fallendo perché ${REQUEST_FILENAME} dice ancora "foo" piuttosto che "bar". Non viene aggiornato dopo la prima riscrittura.

Come posso far funzionare questo? Potrei risolverlo semplicemente scrivendo RewriteRule ^foo$ bar.php. Ma preferirei fortemente mantenere separate le regole di rimappatura dell'URL dalle regole di estensione del file.

È stato utile?

Soluzione

Risposta provvisoria ...

RewriteCond %{DOCUMENT_ROOT}/$0.php -f

Usando $0 Ho accesso all'ultimo URL riscritto, che mi rende felice. Ma devo aggiungere %{DOCUMENT_ROOT} Per trasformarlo in un nome di file, il che mi rende triste. Un po 'di kludge.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top