Fondamentalement, j’ai des sous-répertoires à la racine du répertoire ‘public_html’ (d’un serveur Apache) où je conserve mon site Web principal ( http://www.jamesandersonjr.com ). Les principaux fichiers du site Web se trouvent directement dans le répertoire racine «public_html», tandis que les autres sites (avec leurs propres domaines distincts) se trouvent dans des sous-dossiers / sous-répertoires sous la racine.
Le problème que j’ai est quelques règles dans mon fichier .htaccess (à la racine de ‘public_html’) sont en cascade, pour affecter d’autres sites, dans les sous-répertoires susmentionnés (et donc, leurs propres sites Web distincts). Voici les règles:
RedirectMatch 301 "^\/facebook\/?$" "/facebook.php" RedirectMatch 301 "^\/twitter\/?$" "/twitter.php" RedirectMatch 301 "^\/youtube\/?$" "/youtube.php" RedirectMatch 301 "^\/bug_?report\/?$" "/bug_report.php" RedirectMatch 301 "^\/bugreport\.(php|html?)(\?)?$" "/bug_report.php"
Ces règles se trouvent dans le fichier .htaccess de mon site Web principal: http://www.jamesandersonjr.com Mais à mon insu, elles affectent également un autre site Web situé dans un sous-répertoire du répertoire racine.
Comment empêcher cette “cascade” de se produire en premier lieu, ou comment réécrire les règles pour inclure uniquement les chemins d’access (dans le code ci-dessus) par rapport au site Web principal: http://www.jamesandersonjr.com , et non sous-répertoires / sous-répertoires aussi?
Note: Dans le cas d’une réécriture complète du code, je dois pouvoir conserver les arguments / variables url (en particulier “GET”) (en particulier dans la dernière règle, dans le code ci-dessus). Par exemple:
http://www.jamesandersonjr.com/bugreport.php?page_domain=http://www.example.com
devient automatiquement:
http://www.jamesandersonjr.com/bug_report.php?page_domain=http://www.example.com
Merci d’avance pour votre aide.
Vous pouvez essayer d’envelopper vos règles avec ceci:
...
Mettre à jour
Pour inclure des sous-domaines et le domaine racine sans sous-domaine (juste jamesandersonjr.com):
...
Pour inclure des sous-domaines mais pas le domaine racine:
...
C’est pour les sous-domaines à n’importe quel niveau. Il devrait être mis à jour si vous souhaitiez qu’un seul niveau de sous-domaines soit autorisé.
Et pour référence, la documentation est ici .