Aller au contenu

[Résolu] PHP FastCGI + mod rewrite


Pi3rr3

Messages recommandés

Bonjour à tous,

Ca fait un petit moment que je me casse la tête sur ce problème et google ne m'a pas très bien aidé sur ce coup.

J'ai un site qui marche très bien en apache+modphp et je souhaitais le faire passer en FastCGI donc j'ajoute ceci dans la conf

ScriptAlias /cgi-bin/ /var/www/monsite/cgi-bin/
<Location /cgi-bin/>
Options +ExecCGI
SetHandler fastcgi-script
</Location>
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /cgi-bin/php.fcgi

Et en créant le fichier php.fcgi

#!/bin/sh
PHP_RC="/etc/php/cgi-php5/
export PHP_RC
PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS
exec php-cgi

Et là, la magie n'opère pas et rien ne marche, j'ai une interdiction de lister le dossier quand je pointe sur / et rien ne se passe ( aucune entête recue si je pointe sur /index.php )

Arborescence du projet :

\.

\cgi-bin le dossier contenant le script sh pour fastcgi

\includes la grosse partie du code

\www dossier contenant l'index.php la partie non dynamique du site (css/js/...) sur lequel pointe le documentroot

Conf Virtualhost

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www/monsite/www/

	AddCharset utf-8 .css

	RewriteLog "/var/log/apache2/rewrite.log"
	RewriteLogLevel 9

	<Directory />

			RewriteEngine on
			RewriteCond %{REQUEST_FILENAME} !-f
			RewriteCond %{REQUEST_FILENAME} !-d
			RewriteCond %{REQUEST_FILENAME} !php.fcgi
			RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php

			Options FollowSymLinks
			AllowOverride None

			order deny,allow
			deny from all
			allow from 127.0.0.1
	</Directory>

Je suis donc preneur de toute idée brillante ou toute remarque sur une grosse bourde dans la conf et merci d'avance :)

EDIT : Un petit log du rewrite

127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#839ea0/initial] (3) [perdir /] strip per-dir prefix: /var/www/monsite/www/index.php -> var/www/monsite/www/index.php
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#839ea0/initial] (3) [perdir /] applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri 'var/www/monsite/www/index.php'
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#839ea0/initial] (4) [perdir /] RewriteCond: input='/var/www/monsite/www/index.php' pattern='!-f' => not-matched
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#839ea0/initial] (1) [perdir /] pass through /var/www/monsite/www/index.php
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#838d18/initial/redir#1] (3) [perdir /] add path info postfix: /var/www/monsite/cgi-bin/php.fcgi -> /var/www/monsite/cgi-bin/php.fcgi/index.php
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#838d18/initial/redir#1] (3) [perdir /] strip per-dir prefix: /var/www/monsite/cgi-bin/php.fcgi/index.php -> var/www/monsite/cgi-bin/php.fcgi/index.php
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#838d18/initial/redir#1] (3) [perdir /] applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri 'var/www/monsite/cgi-bin/php.fcgi/index.php'
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#838d18/initial/redir#1] (4) [perdir /] RewriteCond: input='/var/www/monsite/cgi-bin/php.fcgi' pattern='!-f' => not-matched
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#838d18/initial/redir#1] (1) [perdir /] pass through /var/www/monsite/cgi-bin/php.fcgi
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#83dec0/subreq] (3) [perdir /] strip per-dir prefix: /var/www/monsite/www/index.php -> var/www/monsite/www/index.php
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#83dec0/subreq] (3) [perdir /] applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri 'var/www/monsite/www/index.php'
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#83dec0/subreq] (4) [perdir /] RewriteCond: input='/var/www/monsite/www/index.php' pattern='!-f' => not-matched
127.0.0.1 - - [30/Aug/2010:17:30:03 +0200] [localhost/sid#7a9ed0][rid#83dec0/subreq] (1) [perdir /] pass through /var/www/monsite/www/index.php

Lien vers le commentaire
Partager sur d’autres sites

En fait le mod_fastcgi sous gentoo m'écrivait les erreur dans error_log au lieu de error.log donc je viens de résoudre une bonne partie du problème ( le fichier .fcgi n'était pas bon )

En revanche, j'ai toujours le forbidden sur le / alors que cette règle :

RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php

devrait m'en empêcher :/

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...