2010-10-12 8 views
-1

Quelqu'un peut-il me dire ce que cela fait?Que fait ce Mod Rewrite?

RewriteRule .* .main.php [QSA,L] 

D'après ce que je comprends, il réécrire N'IMPORTE QUOI à main.php? Mais pas si sûr de ce que le QSA, L fait.

Ceci est l'ensemble du fichier .htaccess, quand j'appuie sur le répertoire principal, j'obtiens une erreur 400 Bad Request. Modifier: La demande incorrecte a disparu lorsque j'ai ajouté une barre oblique finale dans le navigateur au répertoire racine de ce script.

RewriteEngine On 


# Transfering to the main tranfer file 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !\.css$ 
RewriteCond %{REQUEST_FILENAME} !\.js$ 

RewriteRule .* .main.php [QSA,L] 

# nobody is allowed to access the access the INI file 

<FilesMatch "\.inc.php$"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

Répondre

0

QSA = chaîne de requête Append: ajoutez la chaîne de requête existante à la règle

réécrite L = Dernière règle: dernière règle du jeu, ne traitent pas RewriteRule suivant

Consultez le documentation pour plus d'informations.

Avez-vous un fichier portant le nom .main.php? Le préfixe de point m'inquiète. Vos règles lisent que, sauf si la demande est un lien symbolique, ou qu'il a une extension CSS ou JS, il va à .main.php

+0

Merci. Ouais .... il y a un fichier appelé .main.php, en fait il y a beaucoup de fichiers dans ce script avec un point avant leur nom ... assez bizarre en fait. Bien que ces points me confondent un peu aussi, ne signifient-ils pas "un seul caractère" sous forme de regex? – Brett

+0

FTR .. Mauvaise demande est parti quand j'ai ajouté une barre oblique dans le navigateur au répertoire racine de ce script. – Brett

+0

Cela devrait fonctionner avec ou sans barre oblique. Commentaire avec l'URL, est ce sous-répertoire? Vous avez raison jusqu'à un point correspondant à n'importe quel personnage. Mais le point dans ce cas est sur le côté droit qui est une chaîne littérale. Le point est probablement préfixé comme mesure de sécurité supplémentaire. –