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:
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
<?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
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:
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
Partager