2017-06-30 3 views
0

Cela fonctionne bien sur localhost: mais ne fonctionne pas sur mon site hébergé (par Hostinger.fr)htaccess sur le site hébergé dans l'architecture MVC

RewriteBase/
RewriteEngine On 
RewriteCond expr "%{REQUEST_URI} -strmatch '*admin/*'" 
RewriteRule (.*) $1 [L] 
RewriteCond expr "%{REQUEST_URI} -strmatch '*journal/*'" 
RewriteRule (.*) $1 [L] 
RewriteRule (.*) webroot/$1 [L] 

ces lignes sont suivies (après traitement) par un autre htaccess tête du répertoire Webroot:

RewriteBase/
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) index.php/$1 [L] 

Il utilise pour me montrer 1ère page index.php existe dans le répertoire il Webroot, mais ne montre pas les pages internes. J'utilise une structure MVC pour coder le site et le programme invoqué n'est pas directement indiqué En cliquant sur une option dans le menu affiché par la page index.php, il ne me montre qu'une page vide avec un message "Aucun fichier d'entrée spécifié. " Le webroot index.php n'est pas invoqué (comme pour la première fois) pour développer le vrai programme à invoquer.

Quelqu'un pourrait-il me suggérer ce qui doit être fait dans le .htaccess?

NB: Hostinger veut que la commande « Rewrite Base/» doit être placé en premier lieu

Répondre

0

Je ne l'ai pas eu le temps de tester votre htaccess, mais il y a certaines choses que vous pouvez essayer:

  1. Assurez-vous que vos autorisations de fichier sont correctes. Pour la plupart des fournisseurs d'hébergement, le htaccess (et tous les autres fichiers) doit avoir 644 permissions pour fonctionner

  2. Vérifiez si le module de réécriture d'Apache est installé et activé. Généralement, cela est activé par défaut sur les fournisseurs hôtes, mais peut-être que certains fournisseurs vous demanderont d'activer manuellement les modules sur leur panneau de contrôle

  3. Vérifiez l'arborescence de votre système de fichiers et assurez-vous qu'il n'y a aucun autre fichier htaccess dans un répertoire parent qui pourrait remplacer le comportement de votre htaccess

Par exemple, si vous un avez fichier /home/your_user/public_html/.htaccess et un fichier dans /home/your_user/public_html/my_sub_app/.htaccess, puis si le premier htaccess a une instruction comme:

<Directory> 
    Order Deny,Allow 
    Deny from all 
</Directory> 

Il empêchera le second htaccess d'écraser le comportement

+0

Merci pour vos pistes de recherche mais Je les ai déjà vérifiés et tout est bon chez Hostinger. Les commandes suggérées pour les premières lignes du fichier htaccess provoquent seulement une erreur 500 –