DEDIBOX-NEWS.COM

Le Forum Non Officiel de la DEDIBOX

Vous n'êtes pas identifié.

#1 2008-05-11 19:06:25

clonevince
Petit scarabé
Date d'inscription: 2006-07-07
Messages: 59

VirtualDocumentRoot et URL Rewriting

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).

Code:

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

Code:

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 :

Code:

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

Code:

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 smile

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

 

#2 2008-08-03 17:32:40

DeLoVaN
Maitre Jeidi
Date d'inscription: 2006-08-24
Messages: 506
Site web

Re: VirtualDocumentRoot et URL Rewriting

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)


http://clanfree.net/pics/logo.png
Services pour joueurs: Web, Teamspeak, Mumble: Clanfree.net

Hors ligne

 

#3 2008-08-04 09:43:30

clonevince
Petit scarabé
Date d'inscription: 2006-07-07
Messages: 59

Re: VirtualDocumentRoot et URL Rewriting

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

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson