IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL rewriting] Redirection implicite pour Magento


Sujet :

Apache

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut [URL rewriting] Redirection implicite pour Magento
    Bonjour à tous,

    J'ai besoin d'un coup de main pour effectuer une réécriture :

    je veux transformer l'url suivante : www.monsite.com/en/ vers www.monsite.com

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    www.monsite.com/en/coucou.html vers www.monsite.com/coucou.html
    www.monsite.com/en/toto.html vers www.monsite.com/toto.html
    Mais conserver par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    www.monsite.com/fr/toto.html vers www.monsite.com/fr/toto.html

    D'avance merci pour vos réponses.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    /en est un répertoire ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Bonjour _Mac_

    Toujours fidèle au poste, ça fait plaisir

    Pour ta question c'est Non : pour "www.monsite.com/en/" le "/en/" n'est pas un répertoire ni "/fr/", il s'agit d'un site réalisé sous Magento, ce dernier propose plusieurs "vues" pour gérer le multilangues, chaque vue à son code langue, ainsi pour la vue anglaise c'est "en" et la vue française, c'est "fr". L'application rajoute simplement le code de la vue à l'url. Mais le répertoire reste toujours "/monsite/" pour les deux vues.

    Pour des raisons de référencement, j'aimerai uniquement que dans le cas du "/en/" celui ci soit remplacé par "/" et laisser l'autre langue "/fr/" en "/fr".
    Le site a une cible plutôt internationale, donc la version par défaut est bien celle en "/en/", et nous ne voulons pas créer de sous domaine afin de ne pas diluer le scoring de notre référencement.

    Merci encore pour ton aide.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    OK. Y a un .htaccess pour Magento ? J'imagine qu'il faudra dire à Apache d'ajouter /en au début pour que Magento fonctionne correctement ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut Contenu du htaccesss
    __MAC__

    Voici le contenu de mon .htaccess de Magento, à la racine de "/monsite/"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
     
    ############################################
    ## uncomment these lines for CGI mode
    ## make sure to specify the correct cgi php binary file name
    ## it might be /cgi-bin/php-cgi
     
    #    Action php5-cgi /cgi-bin/php5-cgi
    #    AddHandler php5-cgi .php
     
    ############################################
    ## GoDaddy specific options
     
    #   Options -MultiViews
     
    ## you might also need to add this line to php.ini
    ##     cgi.fix_pathinfo = 1
    ## if it still doesn't work, rename php.ini to php5.ini
     
    ############################################
    ## this line is specific for 1and1 hosting
     
        #AddType x-mapp-php5 .php
        #AddHandler x-mapp-php5 .php
     
    ############################################
    ## default index file
     
        DirectoryIndex index.php
     
    <IfModule mod_php5.c>
     
    ############################################
    ## adjust memory limit
     
    #    php_value memory_limit 64M
        php_value memory_limit 128M
        php_value max_execution_time 18000
     
    ############################################
    ## disable magic quotes for php request vars
     
        php_flag magic_quotes_gpc off
     
    ############################################
    ## disable automatic session start
    ## before autoload was initialized
     
        php_flag session.auto_start off
     
    ############################################
    ## enable resulting html compression
     
        #php_flag zlib.output_compression on
     
    ###########################################
    # disable user agent verification to not break multiple image upload
     
        php_flag suhosin.session.cryptua off
     
    ###########################################
    # turn off compatibility with PHP4 when dealing with objects
     
        php_flag zend.ze1_compatibility_mode Off
     
    </IfModule>
     
    <IfModule mod_security.c>
    ###########################################
    # disable POST processing to not break multiple image upload
     
        SecFilterEngine Off
        SecFilterScanPOST Off
    </IfModule>
     
    <IfModule mod_deflate.c>
     
    ############################################
    ## enable apache served files compression
    ## http://developer.yahoo.com/performance/rules.html#gzip
     
        # Insert filter on all content
        ###SetOutputFilter DEFLATE
        # Insert filter on selected content types only
        #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
     
        # Netscape 4.x has some problems...
        #BrowserMatch ^Mozilla/4 gzip-only-text/html
     
        # Netscape 4.06-4.08 have some more problems
        #BrowserMatch ^Mozilla/4\.0[678] no-gzip
     
        # MSIE masquerades as Netscape, but it is fine
        #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     
        # Don't compress images
        #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
     
        # Make sure proxies don't deliver the wrong content
        #Header append Vary User-Agent env=!dont-vary
     
    </IfModule>
     
    <IfModule mod_ssl.c>
     
    ############################################
    ## make HTTPS env vars available for CGI mode
     
        SSLOptions StdEnvVars
     
    </IfModule>
     
    <IfModule mod_rewrite.c>
     
    ############################################
    ## enable rewrites
     
        Options +FollowSymLinks
        RewriteEngine on
     
    ############################################
    ## you can put here your magento root folder
    ## path relative to web root
     
        #RewriteBase /magento/
     
    ############################################
    ## workaround for HTTP authorization
    ## in CGI environment
     
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    ############################################
    ## always send 404 on missing files in these folders
     
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
     
    ############################################
    ## never rewrite for existing files, directories and links
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
     
    ############################################
    ## rewrite everything else to index.php
     
        RewriteRule .* index.php [L]
     
    </IfModule>
     
     
    ############################################
    ## Prevent character encoding issues from server overrides
    ## If you still have problems, use the second line instead
     
        #AddDefaultCharset Off
        AddDefaultCharset UTF-8
     
    <IfModule mod_expires.c>
     
    ############################################
    ## Add default Expires header
    ## http://developer.yahoo.com/performance/rules.html#expires
     
        ExpiresDefault "access plus 1 year"
     
    </IfModule>
     
    ############################################
    ## By default allow all access
     
        Order allow,deny
        Allow from all
     
    ############################################
    ## If running in cluster environment, uncomment this
    ## http://developer.yahoo.com/performance/rules.html#etags
     
        #FileETag none

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Il gère combien de langue, ton site ? en, fr et quoi d'autre ? Le pb c'est qu'il faut une liste explicite des codes de langue qu'il connaît.

    Autre question : tu veux que quand le navigateur demande http://.../en/toto.html il soit explicitement (= l'adresse dans la barre change) ?

    Il faudra modifier les URL renvoyées par Magento pour retirer le /en lorsqu'il existe. Apache ne peut malheureusement pas le faire pour toi : est-ce possible ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    __MAC__

    On restera que sur deux langues.

    Pour les URL , on tapera http://www.monsite.com/toto.html et lui il saura qu'il faut aller chercher http://www.monsite.com/en/toto.html, mais conserver l'url :
    http://www.monsite.com/toto.html.

    L'idéal serait de laisser le traitement naturel de Magento. Donc de ne pas bidouiller la gestion des URLs de Magento, sauf si cela se révèle indispensable, je ferai une surcharge du module de génération des URLs.

    Sur la doc officielle, il existe une piste qui ne colle pas vraiment à mon cas, mais qui peut s'en approcher, cela peut nous donner des pistes : le souci, il s'agit de plusieurs boutiques, avec chacune un DocumentRoot, ce n'est pas notre cas, car nous avons dans notre cas, un seul Document Root, et il ne s'agit pas de Store mais de "View", mais bon, cela peut être une possibilité, mais mes compétences en matière de Root Document sont assez limitées, peut être que toi tu sauras trouver des éléments de réponse, voici ce lien :
    Multiple Website Setup with Different Document Roots

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Si on ne retient que le français et l'anglais, ajoute ceci dans le .htaccess, entre le bloc "never rewrite for existing files, directories and links" et le bloc rewrite everything else to index.php" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_URI} !^/fr
    RewriteCond %{REQUEST_URI} !^/en
    RewriteRule (.*) /en/$1 [L]
    Si tu rajoutes une langue, il faudra ajouter le RewriteCond qui va bien.
    Mais à mon avis, il faudra modifier Magento pour qu'il retire /en de ses URL car Apache ne le fera pas.

  9. #9
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    __MAC__
    J'ai mis ça à l'endroit indiqué, mais j'ai une erreur 500, je t'ai mis le code en dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
     
    ############################################
    ## uncomment these lines for CGI mode
    ## make sure to specify the correct cgi php binary file name
    ## it might be /cgi-bin/php-cgi
     
    #    Action php5-cgi /cgi-bin/php5-cgi
    #    AddHandler php5-cgi .php
     
    ############################################
    ## GoDaddy specific options
     
    #   Options -MultiViews
     
    ## you might also need to add this line to php.ini
    ##     cgi.fix_pathinfo = 1
    ## if it still doesn't work, rename php.ini to php5.ini
     
    ############################################
    ## this line is specific for 1and1 hosting
     
        #AddType x-mapp-php5 .php
        #AddHandler x-mapp-php5 .php
     
    ############################################
    ## default index file
     
        DirectoryIndex index.php
     
    <IfModule mod_php5.c>
     
    ############################################
    ## adjust memory limit
     
    #    php_value memory_limit 64M
        php_value memory_limit 128M
        php_value max_execution_time 18000
     
    ############################################
    ## disable magic quotes for php request vars
     
        php_flag magic_quotes_gpc off
     
    ############################################
    ## disable automatic session start
    ## before autoload was initialized
     
        php_flag session.auto_start off
     
    ############################################
    ## enable resulting html compression
     
        #php_flag zlib.output_compression on
     
    ###########################################
    # disable user agent verification to not break multiple image upload
     
        php_flag suhosin.session.cryptua off
     
    ###########################################
    # turn off compatibility with PHP4 when dealing with objects
     
        php_flag zend.ze1_compatibility_mode Off
     
    </IfModule>
     
    <IfModule mod_security.c>
    ###########################################
    # disable POST processing to not break multiple image upload
     
        SecFilterEngine Off
        SecFilterScanPOST Off
    </IfModule>
     
    <IfModule mod_deflate.c>
     
    ############################################
    ## enable apache served files compression
    ## http://developer.yahoo.com/performance/rules.html#gzip
     
        # Insert filter on all content
        ###SetOutputFilter DEFLATE
        # Insert filter on selected content types only
        #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
     
        # Netscape 4.x has some problems...
        #BrowserMatch ^Mozilla/4 gzip-only-text/html
     
        # Netscape 4.06-4.08 have some more problems
        #BrowserMatch ^Mozilla/4\.0[678] no-gzip
     
        # MSIE masquerades as Netscape, but it is fine
        #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     
        # Don't compress images
        #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
     
        # Make sure proxies don't deliver the wrong content
        #Header append Vary User-Agent env=!dont-vary
     
    </IfModule>
     
    <IfModule mod_ssl.c>
     
    ############################################
    ## make HTTPS env vars available for CGI mode
     
        SSLOptions StdEnvVars
     
    </IfModule>
     
    <IfModule mod_rewrite.c>
     
    ############################################
    ## enable rewrites
     
        Options +FollowSymLinks
        RewriteEngine on
     
    ############################################
    ## you can put here your magento root folder
    ## path relative to web root
     
        #RewriteBase /magento/
     
    ############################################
    ## workaround for HTTP authorization
    ## in CGI environment
     
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    ############################################
    ## always send 404 on missing files in these folders
     
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
     
    ############################################
    ## never rewrite for existing files, directories and links
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
     
    # Multilangue __MAC__
        RewriteCond %{REQUEST_URI} !^/fr
        RewriteCond %{REQUEST_URI} !^/en
        RewriteRule (.*) /en/$1 (L)
     
    ############################################
    ## rewrite everything else to index.php
     
        RewriteRule .* index.php [L]
     
    </IfModule>
     
     
    ############################################
    ## Prevent character encoding issues from server overrides
    ## If you still have problems, use the second line instead
     
        #AddDefaultCharset Off
        AddDefaultCharset UTF-8
     
    <IfModule mod_expires.c>
     
    ############################################
    ## Add default Expires header
    ## http://developer.yahoo.com/performance/rules.html#expires
     
        ExpiresDefault "access plus 1 year"
     
    </IfModule>
     
    ############################################
    ## By default allow all access
     
        Order allow,deny
        Allow from all
    ############################################
    ## If running in cluster environment, uncomment this
    ## http://developer.yahoo.com/performance/rules.html#etags
     
        #FileETag none

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Oui, effectivement, j'avais mal lu le .htaccess. Une version modifiée qui devrait mieux passer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    ############################################
    ## uncomment these lines for CGI mode
    ## make sure to specify the correct cgi php binary file name
    ## it might be /cgi-bin/php-cgi
     
    #    Action php5-cgi /cgi-bin/php5-cgi
    #    AddHandler php5-cgi .php
     
    ############################################
    ## GoDaddy specific options
     
    #   Options -MultiViews
     
    ## you might also need to add this line to php.ini
    ##     cgi.fix_pathinfo = 1
    ## if it still doesn't work, rename php.ini to php5.ini
     
    ############################################
    ## this line is specific for 1and1 hosting
     
        #AddType x-mapp-php5 .php
        #AddHandler x-mapp-php5 .php
     
    ############################################
    ## default index file
     
        DirectoryIndex index.php
     
    <IfModule mod_php5.c>
     
    ############################################
    ## adjust memory limit
     
    #    php_value memory_limit 64M
        php_value memory_limit 128M
        php_value max_execution_time 18000
     
    ############################################
    ## disable magic quotes for php request vars
     
        php_flag magic_quotes_gpc off
     
    ############################################
    ## disable automatic session start
    ## before autoload was initialized
     
        php_flag session.auto_start off
     
    ############################################
    ## enable resulting html compression
     
        #php_flag zlib.output_compression on
     
    ###########################################
    # disable user agent verification to not break multiple image upload
     
        php_flag suhosin.session.cryptua off
     
    ###########################################
    # turn off compatibility with PHP4 when dealing with objects
     
        php_flag zend.ze1_compatibility_mode Off
     
    </IfModule>
     
    <IfModule mod_security.c>
    ###########################################
    # disable POST processing to not break multiple image upload
     
        SecFilterEngine Off
        SecFilterScanPOST Off
    </IfModule>
     
    <IfModule mod_deflate.c>
     
    ############################################
    ## enable apache served files compression
    ## http://developer.yahoo.com/performance/rules.html#gzip
     
        # Insert filter on all content
        ###SetOutputFilter DEFLATE
        # Insert filter on selected content types only
        #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
     
        # Netscape 4.x has some problems...
        #BrowserMatch ^Mozilla/4 gzip-only-text/html
     
        # Netscape 4.06-4.08 have some more problems
        #BrowserMatch ^Mozilla/4\.0[678] no-gzip
     
        # MSIE masquerades as Netscape, but it is fine
        #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     
        # Don't compress images
        #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
     
        # Make sure proxies don't deliver the wrong content
        #Header append Vary User-Agent env=!dont-vary
     
    </IfModule>
     
    <IfModule mod_ssl.c>
     
    ############################################
    ## make HTTPS env vars available for CGI mode
     
        SSLOptions StdEnvVars
     
    </IfModule>
     
    <IfModule mod_rewrite.c>
     
    ############################################
    ## enable rewrites
     
        Options +FollowSymLinks
        RewriteEngine on
     
    ############################################
    ## you can put here your magento root folder
    ## path relative to web root
     
        #RewriteBase /magento/
     
    ############################################
    ## workaround for HTTP authorization
    ## in CGI environment
     
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    # Multilangue __MAC__
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteCond %{REQUEST_URI} !^/fr
        RewriteCond %{REQUEST_URI} !^/en
        RewriteRule (.*) /en/$1 (L)
     
    ############################################
    ## always send 404 on missing files in these folders
     
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
     
    ############################################
    ## never rewrite for existing files, directories and links
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
     
    ############################################
    ## rewrite everything else to index.php
     
        RewriteRule .* index.php [L]
     
    </IfModule>
     
     
    ############################################
    ## Prevent character encoding issues from server overrides
    ## If you still have problems, use the second line instead
     
        #AddDefaultCharset Off
        AddDefaultCharset UTF-8
     
    <IfModule mod_expires.c>
     
    ############################################
    ## Add default Expires header
    ## http://developer.yahoo.com/performance/rules.html#expires
     
        ExpiresDefault "access plus 1 year"
     
    </IfModule>
     
    ############################################
    ## By default allow all access
     
        Order allow,deny
        Allow from all
     
    ############################################
    ## If running in cluster environment, uncomment this
    ## http://developer.yahoo.com/performance/rules.html#etags
     
        #FileETag none

  11. #11
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    __MAC__

    J'ai fait un copié collé de ton code, mais j'ai toujours une erreur 500.

    Je ne suis pas parvenu à voir ce que tu avais modifié dans la syntaxe ?

    Je te remet le contenu du .htaccess au cas où
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
     
    ############################################
    ## uncomment these lines for CGI mode
    ## make sure to specify the correct cgi php binary file name
    ## it might be /cgi-bin/php-cgi
     
    #    Action php5-cgi /cgi-bin/php5-cgi
    #    AddHandler php5-cgi .php
     
    ############################################
    ## GoDaddy specific options
     
    #   Options -MultiViews
     
    ## you might also need to add this line to php.ini
    ##     cgi.fix_pathinfo = 1
    ## if it still doesn't work, rename php.ini to php5.ini
     
    ############################################
    ## this line is specific for 1and1 hosting
     
        #AddType x-mapp-php5 .php
        #AddHandler x-mapp-php5 .php
     
    ############################################
    ## default index file
     
        DirectoryIndex index.php
     
    <IfModule mod_php5.c>
     
    ############################################
    ## adjust memory limit
     
    #    php_value memory_limit 64M
        php_value memory_limit 128M
        php_value max_execution_time 18000
     
    ############################################
    ## disable magic quotes for php request vars
     
        php_flag magic_quotes_gpc off
     
    ############################################
    ## disable automatic session start
    ## before autoload was initialized
     
        php_flag session.auto_start off
     
    ############################################
    ## enable resulting html compression
     
        #php_flag zlib.output_compression on
     
    ###########################################
    # disable user agent verification to not break multiple image upload
     
        php_flag suhosin.session.cryptua off
     
    ###########################################
    # turn off compatibility with PHP4 when dealing with objects
     
        php_flag zend.ze1_compatibility_mode Off
     
    </IfModule>
     
    <IfModule mod_security.c>
    ###########################################
    # disable POST processing to not break multiple image upload
     
        SecFilterEngine Off
        SecFilterScanPOST Off
    </IfModule>
     
    <IfModule mod_deflate.c>
     
    ############################################
    ## enable apache served files compression
    ## http://developer.yahoo.com/performance/rules.html#gzip
     
        # Insert filter on all content
        ###SetOutputFilter DEFLATE
        # Insert filter on selected content types only
        #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
     
        # Netscape 4.x has some problems...
        #BrowserMatch ^Mozilla/4 gzip-only-text/html
     
        # Netscape 4.06-4.08 have some more problems
        #BrowserMatch ^Mozilla/4\.0[678] no-gzip
     
        # MSIE masquerades as Netscape, but it is fine
        #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     
        # Don't compress images
        #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
     
        # Make sure proxies don't deliver the wrong content
        #Header append Vary User-Agent env=!dont-vary
     
    </IfModule>
     
    <IfModule mod_ssl.c>
     
    ############################################
    ## make HTTPS env vars available for CGI mode
     
        SSLOptions StdEnvVars
     
    </IfModule>
     
    <IfModule mod_rewrite.c>
     
    ############################################
    ## enable rewrites
     
        Options +FollowSymLinks
        RewriteEngine on
     
    ############################################
    ## you can put here your magento root folder
    ## path relative to web root
     
        #RewriteBase /magento/
     
    ############################################
    ## workaround for HTTP authorization
    ## in CGI environment
     
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    # Multilangue __MAC__
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteCond %{REQUEST_URI} !^/fr
        RewriteCond %{REQUEST_URI} !^/en
        RewriteRule (.*) /en/$1 (L)
     
    ############################################
    ## always send 404 on missing files in these folders
     
        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
     
    ############################################
    ## never rewrite for existing files, directories and links
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
     
    ############################################
    ## rewrite everything else to index.php
     
        RewriteRule .* index.php [L]
     
    </IfModule>
     
     
    ############################################
    ## Prevent character encoding issues from server overrides
    ## If you still have problems, use the second line instead
     
        #AddDefaultCharset Off
        AddDefaultCharset UTF-8
     
    <IfModule mod_expires.c>
     
    ############################################
    ## Add default Expires header
    ## http://developer.yahoo.com/performance/rules.html#expires
     
        ExpiresDefault "access plus 1 year"
     
    </IfModule>
     
    ############################################
    ## By default allow all access
     
        Order allow,deny
        Allow from all
     
    ############################################
    ## If running in cluster environment, uncomment this
    ## http://developer.yahoo.com/performance/rules.html#etags
     
        #FileETag none

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    J'ai mis (L) (parenthèses) au lieu des crochets !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule (.*) /en/$1 [L]

  13. #13
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Autant pour moi, je regardais ailleurs, d'éventuelles modifications, désolé.
    C'est vrai qu'il fallait des [ ].

    Effectivement ça va beaucoup mieux avec.
    Maintenant la page d'accueil s'affiche mais plus aucun lien ne semble fonctionner

    Je n'ai plus que des 404.

  14. #14
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tu as un exemple d'URL qui s'affiche dans le navigateur et qui déclenche une erreur 404 ?

  15. #15
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Voici un exemple d'url qui ne fonctionne pas :

    http://www.monsite.com/mapage.html
    qui devrait me montrer ma version anglaise, mais j'ai une 404

    Idem sur
    http://www.monsite.com/fr/mapage.html, qui devrait me montrer ma version française, j'ai là aussi une 404

    Je modifierai le code de Magento pour qu'il supprime le /en/ dans le cas de la boutique anglaise.

    Je n'ai que la page d'accueil qui s'affiche correctement :
    http://www.monsite.com/

  16. #16
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est étrange : dans mon environnement, en ne testant que les RewriteXxx, ça marche correctement. Tu as accès aux logs du serveur ? Si oui, peux-tu regarder l'erreur renvoyée par Apache lorsque tu as une erreur 404 ?

  17. #17
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est étrange : dans mon environnement, en ne testant que les RewriteXxx, ça marche correctement. Tu as accès aux logs du serveur ? Si oui, peux-tu regarder l'erreur renvoyée par Apache lorsque tu as une erreur 404 ?
    URL demandée :
    www.monsite.com/en/ mais erreur 404

    Voici les logs
    [Mon Feb 01 09:56:37 2010] [error] [client 192.168.xx.xx] File does not exist: /var/www/en, referer: http://monsite.com/

  18. #18
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Est-ce que /var/www est le bon chemin vers le document root ? Dans le .htaccess, décommente la ligne 12 :

  19. #19
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Cela fait pareil : Erreur 404 :

    Seule la page : www.monsite.com fonctionne.

    Toutes les autres pages provoquent des 404 :

    Que je mette www.monsite.com/en/page.html ou www.monsite.com/page.html, c'est pareil

    Logs Apache :
    [Mon Feb 01 10:48:21 2010] [error] [client 192.168.xx.xx] File does not exist: /var/www/en, referer: http://monsite.com/

  20. #20
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Super bizarre : je viens de tester sur un second environnement, pas de souci pour moi... Tu as accès à la conf (httpd.conf) du serveur ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/03/2012, 23h23
  2. Réponses: 7
    Dernier message: 19/03/2008, 16h07
  3. [URL Rewriting] Redirection dossier vers lien
    Par alikharchafi dans le forum Apache
    Réponses: 13
    Dernier message: 16/10/2007, 14h48
  4. [URL Rewriting] redirection vers un répertoire
    Par wace dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h29
  5. Url Rewriting - Redirections invisibles
    Par MicaelFelix dans le forum Apache
    Réponses: 1
    Dernier message: 21/07/2007, 20h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo