Bonjour à tous,

Je viens vers vous suite à un problème subtilement présent dans le projet symfony sur lequel je bosse actuellement.

J'ai un backend généré pour mon site. J'ai installé le plugin sfAdminDashPlugin ainsi que le fameux sfGuardPlugin.

Jusqu'ici tout va bien.
J'ai configuré comme spécifié dans la doc de admindash la connexion avec sfGuardPlugin en créant un module sfGuardAuth dans le backend, configuré les actions:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
require_once(sfConfig::get('sf_root_dir').'/plugins/sfDoctrineGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php');
class sfGuardAuthActions extends BasesfGuardAuthActions
{
  public function preExecute()
  {
    sfForm::disableCSRFProtection();
  }
}
 
?>
et le template signinsuccess.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php include_partial('sfAdminDash/login', array('form' => $form)); ?>
J'aimerai ensuite supprimé l'url backend.php et la remplacer par /admin

J'ai donc activer le no_script_name à true. Dans mon routage, la route par défaut est donc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
sf_atos_cart:
  class: sfDoctrineRouteCollection
  options:
    model:                sf_atos_cart
    module:               sf_atos_cart
    prefix_path:          /admin/sf_atos_cart
    column:               id
    with_wildcard_routes: true
 
abonnement_type:
  class: sfDoctrineRouteCollection
  options:
    model:                abonnementType
    module:               abonnementType
    prefix_path:          /admin/abonnementType
    column:               id
    with_wildcard_routes: true
 
magazine:
  class: sfDoctrineRouteCollection
  options:
    model:                magazine
    module:               magazine
    prefix_path:          /admin/magazine
    column:               id
    with_wildcard_routes: true
 
abonnementType:
  class: sfDoctrineRouteCollection
  options:
    model:                abonnementType
    module:               abonnementType
    prefix_path:          /admin/abonnementType
    column:               id
    with_wildcard_routes: true
 
abonne:
  class: sfDoctrineRouteCollection
  options:
    model:                abonne
    module:               abonne
    prefix_path:          /admin/abonne
    column:               id
    with_wildcard_routes: true
 
atos:
  class: sfDoctrineRouteCollection
  options:
    model:                sf_atos_cart
    module:               sf_atos_cart
    prefix_path:          /admin/sf_atos_cart
    column:               id
    with_wildcard_routes: true
 
# default rules
homepage:
  url:   /admin/
  param: { module: sfAdminDash, action: dashboard }
 
sf_guard_signin:
      url:   /guard/login
      param: { module: sfGuardAuth, action: signin }
 
sf_guard_signout:
      url:   /guard/logout
      param: { module: sfGuardAuth, action: signout }
 
sf_guard_password:
      url:   /guard/request_password
      param: { module: sfGuardAuth, action: password }
 
# generic rules
# please, remove them by adding more specific rules
default_index:
  url:   /:module
  param: { action: index }
 
default:
  url:   /:module/:action/*
et dans mon fichier htaccess:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
RewriteCond %{REQUEST_URI} ^/admin/?
RewriteRule ^/admin/(.*)$ backend_dev.php?$1 [QSA,L]
 
#RewriteCond %{REQUEST_URI} ^/guard/?
  RewriteRule ^guard/(.*)$ backend_dev.php/guard/$1 [QSA,L]
 
  # we skip all files with .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteCond %{REQUEST_URI} !\.php
  RewriteRule .* - [L]
 
  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f
 
  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
En local, sur mon mac avec Mamp, tout marche parfaitement.

Dès que je passe sur mon serveur de prod chez ovh, ça passe plus.

Précisement, l'accès à http://abo.travail.lemensuel.com/admin/ (admin et admin) fonctionne bien, donc la première partie du htaccess fonctionne.

Par contre une fois le formulaire soumis, normalement je suis censé tombé sur la route homepage, mais j'obtiens une belle erreur 500.

L'entrée avec http://abo.travail.lemensuel.com/backend_dev.php/admin/ marche bien

Quelqu'un a-t-il une idée, là je suis perdu après quelques heures de débug.

Merci