2010-11-12 6 views
2

J'ai créé un site en utilisant Zend Framework.Problème dans le site de structure Zend

Son fonctionne bien dans le serveur de développement, mais ne fonctionne pas dans le serveur Live.

Je reçois une erreur "L'URL demandée/publique/par défaut n'a pas été trouvée sur ce serveur."

La page d'index fonctionne correctement.

Par exemple:

http://www.xyz.com/public (Son amende travail)

Mais

Quand je suis en train de courir http://www.xyz.com/public/default ou http://www.xyz.com/public/admin.

Je reçois l'erreur "L'URL demandée/publique/par défaut n'a pas été trouvée sur ce serveur."

Merci d'avance.

Kanji

+0

vous êtes conscient du fait que le public devrait être le point d'entrée, n'est-ce pas? votre répertoire '/ var/www/zend/application/public' doit être la racine du document pour le domaine – Hannes

+0

Oui, je suis conscient de ce fait. Mais mon défaut et admin ne fonctionne pas. –

Répondre

1

J'ai trouvé la solution.

Accédez à votre fichier de configuration Apache (httpd.conf, /etc/apache2/sites-availble/site.conf, ou /usr/local/zend/apache2/conf/extra/httpd-vhosts.conf, etc.) et localisez la balise ... qui contrôle le serveur virtuel pour ce site.

Assurez-vous que vous avez défini:

AllowOveride Tous

Restarted Apache.

3

Première réponse rapide: est mod rewrite activé? (plusieurs fois pas dans les régimes d'hébergement mutualisé)

également essayer d'accéder l'action du contrôleur avec urls comme ceci:

/index.php/controller/action

qui dans votre cas devrait être: /index.php/public/default

voir que tout est en place.

+0

+0

Oui Son est déjà activé. S'il vous plaît toute autre solution? –

+0

je suppose encore qu'il a quelque chose à voir avec mod réécrire, l'utilisation de vhost/htaccess et le fait que le public n'est pas la racine – Hannes

3

Avez-vous un fichier .htaccess dans le dossier public avec le contenu suivant:

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

Oui, j'ai le même contenu dans le fichier .htaccess dans le dossier public –

+0

Merci, ça m'a aidé, et résolu mes problèmes. –

Questions connexes