2011-04-07 5 views
0

J'héberge une application faite en utilisant zend framework. et j'ai le fichier .htaccess sur le dossier public pour rediriger toute demande de passer par index.php. Cela fonctionne mais je ne reçois pas de paramètres de requête dans l'application. Pourquoi est-ce?htaccess redirect

RewriteEngine on 
Options +FollowSymlinks 

RewriteBase/
RewriteRule !\.(js|ico|txt|gif|GIF|jpg|png|PNG|css|xml|JPG)$ 

index.php 
+0

Comment déterminez-vous que vous n'êtes pas demande recevoir paramètres? Pouvez-vous poster un exemple de demande et le code que vous attendez de travailler? – Phil

Répondre

1

Ce n'est pas une solution très robuste. Que se passe-t-il lorsqu'une demande est faite à une extension de fichier non incluse dans votre liste?

Les ZF 1.11 règles standard sont beaucoup mieux

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
+0

get server error – Vir

+0

@Vir Quel est le message d'erreur? Ce sera dans votre journal d'erreur Apache. – Phil

+0

RewriteEngine sur options + FollowSymlinks RewriteBase/ RewriteCond% {} REQUEST_FILENAME -s [OR] RewriteCond% {REQUEST_FILENAME} -l [OR] RewriteCond% {REQUEST_FILENAME} -d RewriteRule^* $ -. [NC, L] RewriteRule ^. * $ Index.php [NC, L] toujours pas get request paramètre – Vir

1

Cela passera TOUTES les demandes à l'exclusion des types de fichiers répertoriés à index.php

RewriteCond %{REQUEST_FILENAME} !\.(js|ico|txt|gif|GIF|jpg|png|PNG|css|xml|JPG)$ 
RewriteRule (.*)$ http://domain.com/index.php$1 [R=301,L] 
+0

Aussi, si vous voulez raccourcir vos urls, peut-être essayer de faire ceci: 'RewriteRule^(. *) \. htm $ /index.php? p = $ 1' –

+0

Erreur Erreur – Vir