Débutante en Url rewriting : règle non prise en compte
15 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
Débutante en Url rewriting : règle non prise en compte
Bonjour!
Je cherche à réécrire une URL de la manière suivante :
Par exemple :
http://www.monsite/index.html deviendrait
/servlets/Generique.do?URL=http://www.monsite/index.html
La partie suivante est fixe : "/servlets/Generique.do?URL="
La partie qui suit dépend de l'URL demandée.
La règle que j'ai écrite dans le fichier .htaccess est la suivante :
# fichier .htaccess
Options FollowSymLinks
RewriteEngine on
RewriteRule (.*)html /servlets/Generique.do?URL=$1
Dans le fichier httpd.conf
J'ai décommenté le LoadModule et pour voir les logs j'ai ajouté
<IfModule mod_rewrite.c> RewriteLog "D:/prog/apachegroup/Apache2/logs/apache.log"</IfModule>
Au final, la réécriture d'URL ne se fait. Et je n'ai aucune trace dans les logs.
Je ne sais plus quoi faire... Est ce que ma règle est correcte? Est ce que l'URlRewriting me permettrait de faire ça?
Merci d'avance!!!
Je cherche à réécrire une URL de la manière suivante :
Par exemple :
http://www.monsite/index.html deviendrait
/servlets/Generique.do?URL=http://www.monsite/index.html
La partie suivante est fixe : "/servlets/Generique.do?URL="
La partie qui suit dépend de l'URL demandée.
La règle que j'ai écrite dans le fichier .htaccess est la suivante :
# fichier .htaccess
Options FollowSymLinks
RewriteEngine on
RewriteRule (.*)html /servlets/Generique.do?URL=$1
Dans le fichier httpd.conf
J'ai décommenté le LoadModule et pour voir les logs j'ai ajouté
<IfModule mod_rewrite.c> RewriteLog "D:/prog/apachegroup/Apache2/logs/apache.log"</IfModule>
Au final, la réécriture d'URL ne se fait. Et je n'ai aucune trace dans les logs.
Je ne sais plus quoi faire... Est ce que ma règle est correcte? Est ce que l'URlRewriting me permettrait de faire ça?
Merci d'avance!!!
Effectivement j'ai fait une erreur dans l'URL de la page, car c'est une application Web que je suis en train de faire et par conséquent l'adresse serait plutot :
http://nom_du_serveur:num_port/repertoi ... index.html.
En fait mes fichiers statiques sont sur Apache et mon serveur d'application est Weblogic. Et j'essaie donc de faire de la réécriture d'URL via Apache.
Est ce que cela te semble possible?
http://nom_du_serveur:num_port/repertoi ... index.html.
En fait mes fichiers statiques sont sur Apache et mon serveur d'application est Weblogic. Et j'essaie donc de faire de la réécriture d'URL via Apache.
Est ce que cela te semble possible?
A priori, il faut passer par une requête proxy, quelque chose comme
Ca suppose que mod_proxy soit activé sur le serveur.
- Code: Tout sélectionner
RewriteRule (.*)html http://weblogic/servlets/Generique.do?URL=$1 [P,L]
Ca suppose que mod_proxy soit activé sur le serveur.
J'ai activé le mod_proxy.
J'ai modifié le RewriteRule du .htaccess comme tu me l'as conseillé. Mais je pense que la règle de réécriture (bien qu'elle ait l'air plus correcte
)
n'est toujours pas prise en compte.
Y a t'il quelque chose à spécifier dans le httpd.conf pour que le .htaccess soit pris en compte?
Pour info : j'ai placé le .htaccess à la racine de mon repertoire contenant tous mes répertoires de fichiers statiques.
J'ai fait le load du mod_rewrite, et je n'ai aucun log dans le fichier de log qui a quand même été crée grâce à l'instruction
J'ai modifié le RewriteRule du .htaccess comme tu me l'as conseillé. Mais je pense que la règle de réécriture (bien qu'elle ait l'air plus correcte
n'est toujours pas prise en compte.
Y a t'il quelque chose à spécifier dans le httpd.conf pour que le .htaccess soit pris en compte?
Pour info : j'ai placé le .htaccess à la racine de mon repertoire contenant tous mes répertoires de fichiers statiques.
J'ai fait le load du mod_rewrite, et je n'ai aucun log dans le fichier de log qui a quand même été crée grâce à l'instruction
- Code: Tout sélectionner
RewriteLog "D:/prog/apachegroup/Apache2/logs/apache.log"
Il faut que le répertoire contenant le .htaccess ait le droit de modifier les directives. Ca se fait avec AllowOverride dans le httpd.conf, par exemple :
Pour info, les performances sont nettement meilleures quand les règles de réécriture sont dans la conf Apache.
- Code: Tout sélectionner
<Directory la_racine_www>
AllowOverride All
</Directory>
Pour info, les performances sont nettement meilleures quand les règles de réécriture sont dans la conf Apache.
Reprenons :
1/ Apache fonctionne? Un appel à -http://apache/test.jpg renvoie bien une image et écrit dans le fichier de log? Avec un fichier test.jpg à la racine du site, bien entendu.
2/ L'UR fonctionne? En mettant dans le httpd.conf
3/ Le .htaccess est-il pris en compte? Mets n'importe quoi dedans qui ne soit pas une commande Apache et tu devrais obtenir une erreur 500
On va commencer avec ca. Ne pas oublier de redémarrer Apache après chaque modification dans le httpd.conf, au cas où...
1/ Apache fonctionne? Un appel à -http://apache/test.jpg renvoie bien une image et écrit dans le fichier de log? Avec un fichier test.jpg à la racine du site, bien entendu.
2/ L'UR fonctionne? En mettant dans le httpd.conf
- Code: Tout sélectionner
RewriteEngine On
RewriteRule ^/test2.jpg$ /test.jpg [L]
3/ Le .htaccess est-il pris en compte? Mets n'importe quoi dedans qui ne soit pas une commande Apache et tu devrais obtenir une erreur 500
On va commencer avec ca. Ne pas oublier de redémarrer Apache après chaque modification dans le httpd.conf, au cas où...
En fait :
- Apache fonctionne puisque j'arrive à faire afficher une image.
- l'UR ne fonctionne pas.
-le .htaccess ne fonctionne pas.
Je ne vois vraiment pas d'ou ça peut venir... Ci joint je met le httpd.conf, si quelqu'un peut y jeter un coup d'oeil voir ce qui ne va pas...car j'ai une poutre dans l'oeil je crois...
Merci Beaucoup d'avance!!!
- Apache fonctionne puisque j'arrive à faire afficher une image.
- l'UR ne fonctionne pas.
-le .htaccess ne fonctionne pas.
Je ne vois vraiment pas d'ou ça peut venir... Ci joint je met le httpd.conf, si quelqu'un peut y jeter un coup d'oeil voir ce qui ne va pas...car j'ai une poutre dans l'oeil je crois...
Merci Beaucoup d'avance!!!
- Code: Tout sélectionner
ServerRoot "D:/prog/apachegroup/Apache2"
PidFile logs/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
Listen 8000
Listen 8001
Listen 8090
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
UseCanonicalName Off
DocumentRoot "D:/prog/apachegroup/Apache2/htdocs"
<Directory />
#Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "D:/prog/apachegroup/Apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
UserDir "My Documents/My Website"
DirectoryIndex index.html index.html.var
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig conf/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
HostnameLookups Off
ErrorLog logs/error.log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access.log common
ServerTokens Full
ServerSignature On
Alias /icons/ "D:/prog/apachegroup/Apache2/icons/"
<Directory "D:/prog/apachegroup/Apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AliasMatch ^/manual(?:/(?:de|en|fr|ja|ko|ru))?(/.*)?$ "D:/prog/apachegroup/Apache2/manual$1"
<Directory "D:/prog/apachegroup/Apache2/manual">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
<Files *.html>
SetHandler type-map
</Files>
SetEnvIf Request_URI ^/manual/de/ prefer-language=de
SetEnvIf Request_URI ^/manual/en/ prefer-language=en
SetEnvIf Request_URI ^/manual/fr/ prefer-language=fr
SetEnvIf Request_URI ^/manual/ja/ prefer-language=ja
SetEnvIf Request_URI ^/manual/ko/ prefer-language=ko
SetEnvIf Request_URI ^/manual/ru/ prefer-language=ru
RedirectMatch 301 ^/manual(?:/(de|en|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2
</Directory>
ScriptAlias /cgi-bin/ "D:/prog/apachegroup/Apache2/cgi-bin/"
<Directory "D:/prog/apachegroup/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
IndexOptions FancyIndexing VersionSort
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset ISO-8859-1
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
#######################################
#### Chargement Module WebLogic ####
#######################################
LoadModule weblogic_module modules/mod_wl_20.so
##****************************##
## Création des virtual hosts ##
##****************************##
NameVirtualHost xxx.xxx.xxx.xxx:8001
NameVirtualHost yyy.yyy.yyy.yyy:8090
#########
##HOTE1## !!!! AVEC DNS !!!!
#########
<VirtualHost xxx.xxx.xxx.xxx:8001>
DocumentRoot ./htdocs
ServerName xxx.xxx.xxx.xxx:8001
<Directory "D:/prog/apachegroup/Apache2/htdocs/nomApplication1/*/">
AllowOverride All
</Directory>
## Configuration Module WebLogic ##
##-------------------------------##
<IfModule mod_weblogic.c>
MatchExpression *.jsp WebLogicHost=aaa.aaa.aaa.aaa|WebLogicPort=7101
MatchExpression *.do WebLogicHost=aaa.aaa.aaa.aaa|WebLogicPort=7101
MatchExpression *j_security_check* WebLogicHost=aaa.aaa.aaa.aaa|WebLogicPort=7101
MatchExpression *nomApplication1/ WebLogicHost=aaa.aaa.aaa.aaa|WebLogicPort=7101
</IfModule>
<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteEngine on
RewriteRule (.*)html http://weblogic/servlets/Generique.do?URL=$1 [P,L]
RewriteLog "D:/prog/apachegroup/Apache2/logs/apache.log"
</IfModule>
</VirtualHost>
#########
##HOTE1## !!!! AVEC DNS !!!!
#########
<VirtualHost yyy.yyy.yyy.yyy:8090>
DocumentRoot ./htdocs
ServerName yyy.yyy.yyy.yyy:8090
##On interdit l'acces aux données statiques##
<Directory "D:/prog/apachegroup/Apache2/htdocs/nomApplication2/*/">
AllowOverride All
Order Allow,Deny
Allow from all
Options -Indexes
</Directory>
## Configuration Module WebLogic ##
##-------------------------------##
<IfModule mod_weblogic.c>
MatchExpression *.jsp WebLogicHost=bbb.bbb.bbb.bbb|WebLogicPort=7001
MatchExpression *.do WebLogicHost=bbb.bbb.bbb.bbb|WebLogicPort=7001
MatchExpression *j_security_check* WebLogicHost=bbb.bbb.bbb.bbb|WebLogicPort=7001
MatchExpression *nomApplication2/ WebLogicHost=bbb.bbb.bbb.bbb|WebLogicPort=7001
</IfModule>
</VirtualHost>
Essaie ca pour ton premier VirtualHost
Ca ne résoudra pas forcément le problème, mais au moins tu devrais avoir deux fichiers de log supplémentaires au redémarrage d'Apache qui permettront de voir ce qui se passe.
- Code: Tout sélectionner
<VirtualHost xxx.xxx.xxx.xxx:8001>
ServerName xxx.xxx.xxx.xxx:8001
DocumentRoot "D:/prog/apachegroup/Apache2/htdocs/nomApplication1"
<Directory "D:/prog/apachegroup/Apache2/htdocs/nomApplication1">
AllowOverride All
</Directory>
RewriteEngine on
RewriteRule (.*)html http://weblogic/servlets/Generique.do?URL=$1 [P,L]
ErrorLog "D:/prog/apachegroup/Apache2/logs/error_8001.log"
RewriteLog "D:/prog/apachegroup/Apache2/logs/rewrite_8001.log"
RewriteLogLevel 9
</VirtualHost>
Ca ne résoudra pas forcément le problème, mais au moins tu devrais avoir deux fichiers de log supplémentaires au redémarrage d'Apache qui permettront de voir ce qui se passe.
Le contenu de mon fichier de log error_8001.log est :
Par contre le fichier rewrite_8001.log n'a pas été créé.
..???
C'est que le rewriting n'est pas pris en compte? Est il compatible avec l'utilisation de weblogic?
- Code: Tout sélectionner
Apache.exe: Could not determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx for ServerName
Apache.exe: Could not determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx for ServerName
[Thu Mar 10 20:00:15 2005] [error] [client xxx.xxx.xxx.xxx ] File does not exist: D:/prog/apachegroup/Apache2/htdocs/portailDS200/img/test2.gif
[Thu Mar 10 20:00:20 2005] [error] [client xxx.xxx.xxx.xxx ] File does not exist: D:/prog/apachegroup/Apache2/htdocs/portailDS200/img/test2.gif
Apache.exe: Could not determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx for ServerName
[Thu Mar 10 20:06:55 2005] [error] [client xxx.xxx.xxx.xxx ] File does not exist:
Par contre le fichier rewrite_8001.log n'a pas été créé.
..???
C'est que le rewriting n'est pas pris en compte? Est il compatible avec l'utilisation de weblogic?
Etrange. Si l'URL rewriting n'était pas activé, le redémarrage d'Apache devrait échouer pour cause de règles inconnues. Essaie de repartir avec un fichier de conf d'origine, en activant mod_rewrite et en lui fournissant un VirtualHost de test minimal, par exemple
Avec un peu de chance...
- Code: Tout sélectionner
<VirtualHost xxx.xxx.xxx.xxx:8001>
ServerName xxx.xxx.xxx.xxx:8001
DocumentRoot "D:/prog/apachegroup/Apache2/htdocs/portailDS200"
ErrorLog "D:/prog/apachegroup/Apache2/logs/error_8001.log"
RewriteEngine on
RewriteLog "D:/prog/apachegroup/Apache2/logs/rewrite_8001.log"
RewriteLogLevel 9
RewriteRule ^/img/test2.gif$ /test.gif [L]
</VirtualHost>
Avec un peu de chance...
15 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- l'URL Rewriting expliqué aux débutants
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- L'URL Rewriting expliqué aux débutants
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Le référencement de pages PHP
- Aperçu des différents types de redirection
- Comment éviter les contenus dupliqués (avec/sans le www)
- Un moyen très simple et gratuit d'obtenir des backlinks
- Calcul du nombre de backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum