Bonjour,
l'URL de mon site web se presente dans la barre d'adresse ainsi qu'il suit: http://www.univ-ouaga.bf/html/uo/, alors que je voudrais que ce soit l'url suivante qui s'affiche: http://www.univ-ouaga.bf/
Le contexte: j'utilise "Apache/1.3.33" sur debian 3.1; le dossier racine est le www, et mon site web se trouve ici www/html/uo.
Voici les manipulation que j'ai effectué, et que j'espérais parfaites: dans le dossier www, j'ai placé un fichier index.html qui redirige automatiquement le navigateur vers www/html/uo/index.php, tout cela pour éviter de placer le fichier index.php directement dans le dossier www. En procédant ainsi, c'est à dire en plaçant le fichier index.php directement dans www, lorsque l'on saisit l'url du site web http://www.univ-ouaga.bf/ elle demeure telle quel (ce que je souhaite!).
Compte tenu de mon contexte énoncé ci-haut, y'a t'il un moyen de faire en sorte qu'en saisissant l'url http://www.univ-ouaga.bf/ on garde la même url dans la barre d'adresse? Merci
# httpd.conf
Posté par mrlem (site web personnel) . Évalué à -1.
Une solution possible serait sans doute de déclarer dans ton httpd.conf que le fichier que tu veux utiliser par défaut comme index du répertoire "/" est celui dont tu parles. Ce qui devrait si je ne m'abuse (pas de Apache à portée de main) se retranscrire par :
<Directory / >
DirectoryIndex /html/uo/index.php
</Directory>
Bon courage.
[^] # Re: httpd.conf
Posté par Moogle . Évalué à 2.
Dans httpd.conf :
DocumentRoot /chemin/complet/vers/html/uo
Par contre s'il y a des pages dans d'autres répertoires, elles ne seront plus accessibles. Une autre solution pourrait être d'utiliser des frames en HTML.
[^] # Re: httpd.conf
Posté par mrlem (site web personnel) . Évalué à 1.
Si je me fie à la doc Apache : http://httpd.apache.org/docs/1.3/mod/mod_dir.html#directoryi(...) je constate que ce que je disais est tout à fait possible, notamment s'il veut déporter sont index dans un autre répertoire.
Il ne semblait pas vouloir changer de DocumentRoot (s'il a un répertoire html, ça veut sans doute dire qu'il y en a d'autres au même niveau)
[^] # Re: httpd.conf
Posté par mrlem (site web personnel) . Évalué à 0.
(erratum : sont -> son)
# Re VirtualHost & DocumentRoot
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 4.
1/ tres simple:
Tu change la racine de ton serveur web.
Recherche une ligne:
DocumentRoot /var/www/
Dans ton httpd.conf et change la pour:
DocumentRoot /var/www/html/uo
Rq: quitte à faire cela autant déplacer les fichiers depuis /var/www/html/uo vers /var/www
2/ plus propre: création d'un virtual host pour ton domaine
univ-ouaga.bf:
Crée le fichier /etc/apache/conf.d/virtual-uo.conf avec le contenu suivant
---8<------
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName www.univ-ouaga.bf
# ServerAlias univ-ouaga.bf
DocumentRoot /var/www/html/uo
Options FollowSymLinks
AllowOverride None
<Directory /var/www/html/uo>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
DirectoryIndex index.php
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access-uo.log combined
ServerSignature On
</VirtualHost>
--8<--------------------
3/ Plus complexe:
ré-écriture d'url avec mod_rewrite.
Si tu ne fait pas d'hebergement de masse c'est pas vraiment utile.
Ps: c'a fait un peu "Renault R5" ton chemin /var/www/html/uo
[^] # Re: Re VirtualHost & DocumentRoot
Posté par Tonguim Ferdinand GUINKO (site web personnel) . Évalué à 1.
merci à tous pour vos différentes réponses. Effectivement comme le dit moggle, je ne souhaite pas changer le repertoire racine de mon serveur, car il contient d'autres sites web. Ainsi que me l'a proposé "Benoit Plessis" j'ai tenté la création de l'hôte virtuel dans le fichier /etc/apache/conf.d/virtual-uo.conf avec ce contenu:
puis j'ai voulu redémarrer le serveur apache, et j'ai obtenu le message d'erreur suivant:
Comment résoudre cette erreur?
Est il possible de créer l'hôte virtuel dans le fichier httpd.conf?, précisement dans cette partie: ?
Merci
[^] # Re: Re VirtualHost & DocumentRoot
Posté par NeoX . Évalué à 1.
NameVirtualHost *
de ton fichier de virtual host
[^] # Re: Re VirtualHost & DocumentRoot
Posté par Tonguim Ferdinand GUINKO (site web personnel) . Évalué à 1.
AddModule mod_rewrite.c
#Activation du module
RewriteEngine on
#Règles
RewriteRule http://www.univ-ouaga.bf/html/uo/ http://www.univ-ouaga.bf/
Bonjour,
voici à présent comment se présente mon fichier /etc/apache/conf.d/virtual-uo.conf
Lorsque je tente de redémarrer le serveur apache, j'obtiens les messages d'erreurs suivants:
Lorsque je met en commentaire la ligne 10 AllowOverride None, et que je tente de rédemarrer le serveur apache, j'obtiens l'erreur suivante:
Lorsque je met en commentaire la ligne 20 ErrorLog /var/log/apache2/error.log, et que je tente de rédemarrer le serveur apache, j'obtiens l'erreur suivante:
Lorsque je met en commentaire la ligne 21 LogLevel warn, et que je tente de rédemarrer le serveur apache, j'obtiens l'erreur suivante:
Syntax error on line 22 of /etc/apache/conf.d/virtual-uo.conf:
CustomLog not allowed here
Lorsque je met en commentaire la ligne 22 CustomLog /var/log/apache2/access-uo.log combined, et que je tente de rédemarrer le serveur apache, j'obtiens l'erreur suivante:
Syntax error on line 24 of /etc/apache/conf.d/virtual-uo.conf:
</VirtualHost> not allowed here
Lorsque je met en commentaire la ligne 24 </VirtualHost>, et que je tente de rédemarrer le serveur apache, j'obtiens l'erreur suivante:
Syntax error on line 25 of /etc/apache/conf.d/virtual-uo.conf:
Missing directive at end-of-file
A la fin, mon fichier se présente ainsi qu'il suit:
Lorsque je décommente tout et que je mets la balise <//Directory> à la ligne 19, je n'ai plus de message d'erreur! et mon fichier virtual-uo.conf devient:
# deplacer ton site
Posté par serval21 . Évalué à 2.
Pourquoi ne pas déplacer ton site dans /var/www/monsite
et avoir ds ton fichier de conf
DocumentRoot /var/www/monsite
# passage a apache 2
Posté par Tonguim Ferdinand GUINKO (site web personnel) . Évalué à 1.
j'ai effectué des changements: je suis passé à apache 2 maintenant. Je vais donc créer une autre discussion sur le même sujet, mais concernant apache2.
[^] # Re: passage a apache 2
Posté par NeoX . Évalué à 1.
pour infos mon fichier virtualhost ressemble à ca
car un utilisateur peut avoir plusieurs SITE ou domaine (enfin chez moi en tout cas)
[^] # Re: passage a apache 2
Posté par Raphaël G. (site web personnel) . Évalué à 2.
Tu as ce genre d'url :
http://www.univ-ouaga.bf/html/uo/index.html ?
http://www.univ-ouaga.bf/html/uo/html/presentation/frpresent(...)
http://www.univ-ouaga.bf/html/uo/html/formations/frFormation(...)
http://www.univ-ouaga.bf/html/uo/html/inscriptions/frInscrip(...)
http://www.univ-ouaga.bf/html/uo/html/recherche/frrecherche.(...)
http://www.univ-ouaga.bf/html/uo/html/bibliotheque/frbibliot(...)
http://www.univ-ouaga.bf/html/uo/html/partenariat/frpartenar(...)
http://www.univ-ouaga.bf/html/uo/html/vieEtudiante/vie_etudi(...)
http://www.univ-ouaga.bf/html/uo/html/contact/frcontact.html
http://www.univ-ouaga.bf/html/uo/html/planDuSite/frplanDuSit(...)
http://www.univ-ouaga.bf/html/uo/html/actualites/frServiceCo(...)
Pour simplifier les choses tu a plusieurs choix :
Faire un fichier index.php a la base du site qui inclus les fichiers en question :
<?php
define('PREFIX', 'html/uo/html/');
if (empty($_GET['page']))
$_GET['page'] = 'accueil';
switch($_GET['page'])
{
case 'presentation':
include PREFIX.'presentation/frpresentation.html';
break;
case 'yyy':
include PREFIX.'yyy/yyy.html';
break;
case 'accueil':
default:
include PREFIX.'index.html';
}
?>
Ça te redemandera de ré-écrire les href de toutes tes pages pour avoir des :
http://www.univ-ouaga.bf/?page=accueil
http://www.univ-ouaga.bf/?page=presentation
http://www.univ-ouaga.bf/?page=yyy
(dans ce cas là tu te prend pas la tête avec les pages dans les sous répertoires et autre)
Après tu peux faire joujou avec mod_rewrite :
Documentroot /var/www
<Directory /var/www>
# config ici
<IfModule mod_rewrite.c>
# rewrite presentation
RewriteCond %{REQUEST_URI} ^/presentation$
RewriteRule ^/.* /var/www/html/uo/html/presentation/frpresenation.html
# rewrite accueil
RewriteCond %{REQUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_URI} ^/accueil$ [OR]
RewriteCond %{REQUEST_URI} ^/index.php$ [OR]
RewriteCond %{REQUEST_URI} ^/index.html$
RewriteRule ^/.* /var/www/html/uo/html/index.html
# etc...
Du coup tes url deviennent :
http://www.univ-ouaga.bf/accueil
http://www.univ-ouaga.bf/presentation
http://www.univ-ouaga.bf/inscription
...
[^] # Re: passage a apache 2
Posté par Raphaël G. (site web personnel) . Évalué à 2.
[/IfModule]
[/Directory]
a la fin de la section de mod_rewrite... :'(
# réecriture d'url réussie, mais inconvénients majeures!
Posté par Tonguim Ferdinand GUINKO (site web personnel) . Évalué à 1.
j'ai finallé désinstallé apache 1.33 et réinstallé apache2.
L'écriture de l'URL de mon site web est à présent parfaite, mais a des convénients majeures: l'url du site web est http://www.univ-ouaga.bf.
Or le domaine univ-ouaga.bf a des sous domaines auxquels correspondent des sites web; ainsi il existe plusieurs sites web qui ont pour url http://monSite.univ-ouaga.bf (monSite étant un alias crée dans le DNS, et non un hôte virtuel crée au niveau du serveur web apache comme on pourrait le croire). Actuellement, lorsque je saisi une url du type http://monSite.univ-ouaga.bf, c'est le site web http://www.univ-ouaga.bfqui s'affiche dans le navigateur. Comme faire donc pour que http://www.univ-ouaga.bf et tous les sites (il y'en a plusieurs) http://monSite.univ-ouaga.bf renvoient respectivement aux sites auxquels ils font référence? Merci.
En rappel, selon les propositions de benoît plessis et john doe j'ai crée un hôte virtuel dans /etc/apache2/conf.d/virtual-uo.conf avec le code suivant:
Mon avis sur la question: le problème vient peut-être de la définition de /var/www/html/uo en tant que DocumentRoot dans le fichier ci-dessus, alors que tous les sites web sont dans le dossier </var/www/html
[^] # Re: réecriture d'url réussie, mais inconvénients majeures!
Posté par Tonguim Ferdinand GUINKO (site web personnel) . Évalué à 1.
Ainsi mon fichier /etc/apache2/conf.d/virtual-uo.conf se présente ainsi qu'il suit:
Cela signifie t'il que si j'ai 100 sites à héberger sur mon serveur web, je dois créer 100 hôtes virtuels dans mon fichier. Est ce exact? Merci
[^] # Re: réecriture d'url réussie, mais inconvénients majeures!
Posté par Raphaël G. (site web personnel) . Évalué à 2.
- entrée dns pour le sous-domaine
- virtualhost dans apache correspondant.
Ici j'ai ça :
00_default_vhost.conf
# Use name-based virtual hosting.
NameVirtualHost *:80
# html dir perm
<Directory /var/www/html>
# Allow from all
Order deny,allow
Allow from all
# Allow index and symlink
Options Indexes SymLinksifOwnerMatch
# Deny .htaccess
AllowOverride None
# Rewrite url
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/noexist_.*\.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/robots\.txt$
RewriteRule ^.* index.php [L]
RewriteCond %{REQUEST_URI} !^/noexist_.*\.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* robots.txt [L]
</IfModule>
</Directory>
# Default VirtualHost
<VirtualHost _default_:80>
#DocumentRoot
DocumentRoot /var/www/html
# Log level
LogLevel warn
# Show apache signature
ServerSignature On
</VirtualHost>
01_example_vhost.conf
# example alias
<IfModule mod_alias.c>
Alias /example /var/www/example
</IfModule>
# example directory rights
<Directory /var/www/example>
# Limit bandwith if mod_bw is avaible
<IfModule mod_bw.c>
#Enable module
BandWidthModule On
#Force limit
ForceBandWidthModule On
#Set no limit
BandWidth all 0
#Limit Large file > 10MB to 30KB/s max
LargeFileLimit * 10240 30720
</IfModule>
# Allow from all
Order deny,allow
Allow from all
# Allow index and symlink
Options Indexes SymLinksifOwnerMatch
# Deny .htaccess
AllowOverride None
</Directory>
# example virtualhost
<VirtualHost *:80>
# Virtualhost domaine name
ServerName example.example.com
# DocumentRoot dir
DocumentRoot /var/www/example
# Log level
LogLevel warn
# Show apache signature
ServerSignature On
</VirtualHost>
etc...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.