non www url redirige vers la page d'accueil

James Dean

J'ai des .htaccessparamètres pour envoyer toute demande non-www à www.

Cela fonctionne pour la page d'accueil, mais lorsque je vérifie d'autres URL, cela va à la page d'accueil.

Voici mes paramètres ( MISE À JOUR ): La partie supérieure vient de laravel

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On


    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]


</IfModule>

    <IfModule mod_rewrite.c>
    
    RewriteEngine on
    
    RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
    RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
    
    #First rewrite any request to the wrong domain to use the correct one (here www.)
    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
    
    #Now, rewrite to HTTPS:
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    
    RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
    RewriteRule .* ? [F,L]
    </IfModule>

Par exemple

https://example.comva à https://www.example.com.

Mais https://example.com/contactne va pas https://www.example.com/contact. Au lieu de cela, il va à https://www.example.com.

Quel peut être le problème et la solution?

MrWhite

mais https://example.com/contactne va pas àhttps://www.example.com/contact

En supposant que vous n'utilisez pas simplement des URL sans extension (c'est-à-dire des mappages /contactvers /contact.php) avec MultiViews / mod_negotiation, vous devez avoir d'autres directives mod_rewrite qui acheminent ces requêtes.

Il semble que vous ayez mis ces directives dans le mauvais ordre.

Les redirections externes dans votre question doivent aller vers le haut de votre .htaccess avant toute réécriture interne sur un contrôleur frontal.

De côté:

#First rewrite any request to the wrong domain to use the correct one (here www.)
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

Cette règle devrait rediriger vers https://, non http://. Sinon, vous obtiendrez plusieurs redirections inutiles (https vers http et retour vers https).

RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* ? [F,L]

Cette règle (actuellement la dernière), doit aller au sommet. En règle générale, toutes les directives de blocage doivent être les premières. Vous pouvez également simplifier / optimiser cela un peu ...

RewriteCond %{HTTP_USER_AGENT} libwww-perl
RewriteRule ^ - [F]

Lest implicite lors de l'utilisation F. S'il n'y a pas de chaîne de substitution, vous devez utiliser -, non ?.


MISE À JOUR: Suite à votre question mise à jour, ma réponse / hypothèse initiale est confirmée ... vos directives sont dans le mauvais ordre. Vos redirections externes doivent passer avant le contrôleur frontal Laravel.

Sinon, dans son ordre actuel, une demande du formulaire example.com/contactest d'abord réécrite en interne index.phppar le contrôleur frontal Laravel, puis il y aura une redirection externe vers le schéma canonique + nom d'hôte, le résultat net est que vous êtes redirigé vers la page d'accueil.

La redirection cPanel que vous avez mentionnée dans les commentaires se manifeste simplement comme une règle dans .htaccess(que vous avez déjà incluse). Mais notez que toutes les redirections cPanel sont placées (souvent de manière incorrecte) à la fin du .htaccessfichier (ceci est indiqué dans la documentation de cPanel ).

Donc, en résumé, vos directives devraient être écrites comme ceci:

Options -MultiViews -Indexes
    
RewriteEngine on

#
# BLOCKING DIRECTIVES
#

# Block certain requests
RewriteCond %{HTTP_USER_AGENT} libwww-perl
RewriteRule ^ - [F]

#
# CANONICAL REDIRECTS
#
    
# Redirect non-www to www + HTTPS
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [L,R=301]
    
# Redirect HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Remove index.php
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
    
#
# Laravel directives follow...
#

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

CanDeactivateGuard redirige vers la page d'accueil

Htaccess redirige https vers http pour toutes les pages sauf la page d'accueil, redirige https pour la page d'accueil vers une autre URL

La page d'accueil Wordpress redirige vers une page anonyme

Spring Security ne redirige pas vers la page d'accueil

Mon middleware redirige à chaque fois vers la page d'accueil

Le routage angulaire redirige toujours vers la page d'accueil

Le logo ne redirige pas vers la page d'accueil

NodeJS / ExpressJS ne redirige pas vers la page d'accueil

Gatsby redirige vers la page d'accueil au lieu d'afficher la page 404

Pourquoi PayPal redirige vers la page d'accueil au lieu de la page de paiement?

Angular - La page de connexion redirige vers la page d'accueil sans cliquer sur Soumettre

Déplacement du site Wordpress et lors de la connexion, redirige vers la page d'accueil

https://www.facebook.com/app_scoped_user_id/ {app_scoped_id} redirige vers la page d'accueil de Facebook

301 redirection pour index.html et toutes les versions http, https, www et non-www de l'URL de la page d'accueil vers https: // www root url via htaccess

.htaccess redirige la chaîne de requête spécifique vers la page d'accueil

La connexion ASP.NET Core ne me redirige pas vers la page d'accueil

iis rewrite redirige toutes les pages vers la page d'accueil

Michael Hartl Chap 12 Password Reset redirige vers la page d'accueil

L'application Rails 4 Heroku Multi-tenancy redirige vers la page d'accueil Heroku

L'authentification Angular Firebase redirige toujours vers la page d'accueil

PHP - redirige toutes les pages vers la page d'accueil.

Pourquoi Wicket redirige vers la page d'accueil après le redémarrage de Tomcat?

htacess redirige toutes les pages vers la page d'accueil sauf le répertoire admin

Routage Asp.Net qui redirige vers la page d'accueil si le paramètre url n'est pas défini

Vue redirige toujours vers la page d'accueil après l'actualisation de F5 ou lorsque j'entre l'URL manuellement

Ce code redirige vers la page de connexion au lieu de rester sur la même page d'accueil.

Redirection htaccess 301, ancien domaine non-www et www incluant la page d'accueil

Le site Web statique React redirige chaque page vers 404 en plus de la page d'accueil

.htaccess redirige toutes les pages vers la page d'accueil sauf quelques-unes d'entre elles

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive