2009-08-24 12 views
0

Nous développons un site utilisant CakePHP. Nous avons un serveur Windows IIS (hébergement mutualisé) avec PHP5, qui ne supporte pas .htaccess ou mod_rewrite mais nous avons quand même le site opérationnel et développé beaucoup de choses.Cakephp modifier le comportement de l'URL

La structure actuelle de l'URL est quelque chose comme ceci: mondomaine/index.php/utilisateur/ajouter

Nous voulons changer cela à quelque chose comme: mondomaine/index.php contrôleur = user & action = add

nous voulons faire que nous sommes confrontés à une séance inattendue a expiré problèmes et nous doutons que cela est dû à l'utilisateur d'un voyage à l'autre URL comme ceci: mondomaine/index.php/user/add à mydomain/index.php/list/edit cela change la doma dans IIS ou PHP qui font expirer la session, mais le gâteau interprète parfaitement les pages.

S'il y a un moyen de changer le comportement de Cake pour prendre l'URL avec question et amphersand, ce sera génial.

Merci d'avance.

+0

Vous ne devriez pas avoir besoin de 'index.php' dans vos URLs. Cake est conçu pour exécuter des actions de contrôleur telles que domain/controller/action/params. –

+0

Oui, mais dans notre cas avec IIS, il a besoin de index.php sans index.php il ne l'ouvrira pas, il essaie de trouver ce dossier et le fichier index.php à l'intérieur qui donne 404 non trouvé. – happyhardik

+0

Vous voudrez peut-être vérifier ISAPI_Rewrite 2 (gratuit), ISAPI_Rewrite 3 (payé) ou Microsoft IIS Rewrite Module (IIS7). – deizel

Répondre

0

session, arrivant à expiration n'est pas causée par la structure url. avez-vous vérifier?

  1. Configurer :: write ('Session.timeout', '3600'); dans core.php. make it more
  2. Configurer :: write ('Security.level', 'high'); dans core.php. make medium ou low
  3. Configurer :: write ('Session.checkAgent', faux); dans core.php le rende faux. peut causer des problèmes avec les appels ajax
+0

Salut, je ne suis pas sûr, s'il est sûr de réduire le niveau de sécurité de haut en bas ou de définir le checkAgent faux. Pouvez-vous me montrer quelque part, où je peux trouver ce que font ces niveaux de sécurité et quel en sera l'effet? – happyhardik

+0

semble que vous avez besoin de lire les lignes 130 à 147 dans core.php (http://code.cakephp.org/source/app/config/core.php#123) – deizel

+0

Cela a fonctionné!Nous avons encore quelques problèmes mais le problème de base est résolu. – happyhardik

1

Vous voudrez peut-être essayer quelque chose comme ceci:

1) point votre document IIS racine app/Webroot 2) Appelez votre demande en allant http://site.com/index.php?url=/user/add

En ce qui concerne le changement dans le contrôleur = utilisateur & action = ajouter, la seule chose que je peux suggérer est d'ajouter du code dans votre fichier index.php pour traduire le format "controller = user & action = add" au format url =/user/add. Vous pouvez également vérifier le routeur pour voir s'il existe des fonctions que vous pouvez utiliser pour changer ces choses.

Si vous avez besoin d'aide, je poste la question # cakephp irc.freenode.net

+0

Merci pour votre réponse Dooltaz! C'était utile. – happyhardik

Questions connexes