Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
Hello tout le monde, je viens voir par ici si par hasard quelqu'un aurait déjà rencontré le même problème que moi ...
Jusqu'à présent, je tournais avec une certaine quantité de VirtualHost (environ 200-300), et en cherchant à améliorer mon fichier de configuration, j'ai trouvé VirtualDocumentRoot.
Il m'a résolu bien des soucis, mais par contre, il m'a engendré un soucis que j'ai réussi à contourner avec une bidouille (que j'impose à chaque virtualhost généré dynamiquement du coup).
<VirtualHost 88.191.84.13>
ServerAdmin administration@guild-heberg.fr
ServerName %1.guild-heberg.fr
DirectoryIndex index.html index.htm index.php
ServerAlias *.guild-heberg.fr
VirtualDocumentRoot /home/GH/%1/
DocumentRoot /home/GH/
<Directory /home/GH/>
Options +Indexes
AllowOverride All
Order allow,deny
allow from all
</Directory>
IndexOptions FancyIndexing FoldersFirst
</VirtualHost>J'aimerais utiliser ce .htaccess :
RewriteEngine On RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/$ showthread.php?t=$3 [QSA,L] RewriteRule ^f([0-9]+)\/$ forumdisplay.php?f=$1 [QSA,L] RewriteRule ^f([0-9]+)\/([a-z]+)([0-9]+).html$ forumdisplay.php?f=$1&page=$3 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/post([0-9]+).html$ showpost.php?p=$4&postcount=$4 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/([a-z]+)([0-9]+).html$ showthread.php?t=$3&page=$5 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/sendmessage.php?$ sendmessage.php [L] RewriteRule ^f([0-9]+)\/misc.php$ misc.php [QSA,L] RewriteRule ^f([0-9]+)\/member.php$ member.php [QSA,L]
Mais, si je l'utilise, j'ai cette erreur dans le navigateur : The requested URL /www/forum/forumdisplay.php was not found on this server.
Et dans le log_error, j'ai : File does not exist: /home/GH/www/www
Le seul moyen de le faire fonctionner, est de rajouter /forum/ dans le .htaccess, comme ci-dessous :
RewriteEngine On RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/$ /forum/showthread.php?t=$3 [QSA,L] RewriteRule ^f([0-9]+)\/$ /forum/forumdisplay.php?f=$1 [QSA,L] RewriteRule ^f([0-9]+)\/([a-z]+)([0-9]+).html$ /forum/forumdisplay.php?f=$1&page=$3 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/post([0-9]+).html$ /forum/showpost.php?p=$4&postcount=$4 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/([a-z]+)([0-9]+).html$ /forum/showthread.php?t=$3&page=$5 [QSA,L] RewriteRule ^([^/]+)/([^/]+)-([0-9]+)\/sendmessage.php?$ /forum/sendmessage.php [L] RewriteRule ^f([0-9]+)\/misc.php$ /forum/misc.php [QSA,L] RewriteRule ^f([0-9]+)\/member.php$ /forum/member.php [QSA,L]
Et pareil, pour tout URL-rewriting que je souhaite faire, si le script est dans le sous-dossier test, je dois tout le temps rajouter /test/, etc etc
J'ai vu que certains avaient aussi le problème de réécriture double, mais d'après ce que j'ai lu, ce bug est censé avoir été corrigé depuis apache 1.3, alors que je suis en apache 2.2.3 (Debian Etch)
En gros, mon souhait serait de pouvoir définir mon DocumentRoot comme
DocumentRoot /home/GH/%1
Merci d'avance de vos conseils.
N'hésitez pas à me dire ce qui ne va pas, je suis là pour apprendre ![]()
Cordialement,
CloneVince
N.B : mon seul soucis est en fait de déclarer le document root en fonction de chaque virtualdocumentroot, car si je définis un virtualhost par site hébergé, je peux donc déclarer le document root comme il faut, et tout fonctionne sans rajout dans les .htaccess
Hors ligne
Je pige pas, si tu as un VirtualDocumentRoot, pourquoi tu rajoutes un DocumentRoot ?
(Et ServerAlias devrait pas etre à *.%1.guild-heberg.fr d'ailleurs ?)
Dernière modification par DeLoVaN (2008-08-03 17:35:21)
Hors ligne
Ben en fait, quand tu veux faire de l'url rewriting, le serveur apache a besoin d'un dossier de base à partir duquel exécuter le script.
Par défaut, quand tu définis un vrai VirtualHost, dedans tu définis un DocumentRoot et c'est réglé.
Hors là, avec des VirtualDocumentRoot, si tu n'en précises pas, il cherche un dossier Htdocs.
Je me suis alors dit qu'un dossier Htdocs à la base de chaque dossier /home/GH/%1 dans mon cas réglerait l'affaire, mais pas du tout ...
Ou alors je m'y suis mal pris ...
Je vais réessayer quelque chose, et aussi tester ton *.%1.guild-heberg.fr (merci en passant)
Si qqn voit une solution à mon problème, ça m'aiderait vraiment ^^
Hors ligne