2009-10-24 5 views
0

comment puis-je réécrirecomment réécrire cette URL simple?

www.mysite.com/someURLhere 

dans

www.mysite.com/ping.php?url=someURLhere 

sans se méprendre fichiers locaux et répertoires en tant que domaines.

donc je ne veux pas que

www.mysite.com/index.php 
www.mysite.com/admin/ 

Réécrire à

www.mysite.com/ping.php?url=index.php 
www.mysite.com/ping.php?url=admin/ 
+0

donc 'someURLhere' est un" lien virtuel "qui n'existe pas vraiment, oui? –

+0

il devrait être une url on peut naviguer vers. – lativo

Répondre

0
<VirtualHost *:80> 
ServerName yoursite.com 
DocumentRoot /www/yoursite 

RewriteEngine On 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /ping.php?url=$1 [L,QSA] 

</VirtualHost> 

Si cela est un fichier .htaccess vous ne avez pas besoin %{DOCUMENT_ROOT} dans les deux cas.

+0

'REQUEST_FILENAME' est déjà un chemin de système de fichiers absolu. – Gumbo

+0

Je pourrais avoir juré que j'ai rencontré un problème quelque part, où il était nécessaire de préfixer la partie DOCUMENT_ROOT .. –

+0

Demande dépassé la limite de 10 redirections internes en raison d'une erreur de configuration probable. – lativo