J'ai deux domaines gratuits hébergés par différents services
par exemple. GoodURL.BadFeatures.com
et BadURL.GoodFeatures.com
Quel est le moyen d’afficher la bonne URL dans le navigateur mais à partir du mauvais site d’URL?
Au début, je pensais utiliser une page complète iframe
, mais cela empêcherait les utilisateurs normaux de partager la page qu'ils visionnent (et ne pouvons pas mettre en signet les pages qu'ils visualisent).
Ensuite, j'ai pensé que je pourrais peut-être demander à GoodURL.BadFeatures.com
de demander le contenu à BadURL.GoodFeatures.com
et de ne donner que son résultat.
(mais étant donné que certains utilisateurs peuvent vouloir se connecter, je dois transférer tous les cookies - je ne sais pas comment, utilisateur par utilisateur)
J'ai essayé de placer le texte suivant dans un .htaccess
sur le site Good URL:
RewriteEngine On
RewriteRule ^(.*) BadURL.GoodFeatures.com/$1 [P,L]
mais continue à avoir une erreur interne (500)
La solution que vous envisagez est un laissez-passer par procuration.
Votre méthode actuelle devrait être:
RewriteEngine On
RewriteRule ^(.*)$ BadURL.GoodFeatures.com/$1 [P]
Remarquez le signe '$' qui indique le chemin pour le réécrire. L'indicateur de proxy sur mod_rewrite ignore également l'indicateur 'L', car il a déjà transmis la demande à mod_proxy et ignore toutes les règles après le traitement de cette demande.
Une meilleure méthode serait:
<VirtualHost *:80>
DocumentRoot "/www/whatever"
ServerName GoodURL.BadFeatures.com
ProxyPass http://BadURL.GoodFeatures.com/
ProxyPassReverse / http://BadURL.GoodFeatures.com/
ProxyPassReverseCookieDomain BadURL.GoodFeatures.com GoodURL.BadFeatures.com
</VirtualHost>
L'utilisation de ProxyPass est préférable à la réécriture en raison du nombre élevé de traitements requis avec votre méthode de réécriture actuelle. Cela fait la même chose mais ignore certaines étapes et permet une meilleure manipulation. Il résout également votre problème avec les cookies.
J'imagine que vous essayez de combiner un bon service d'hébergement avec un bon gestionnaire de contenu. S'il était possible de les combiner sur un seul serveur, cela améliorerait considérablement les performances globales. Ce que vous avez configuré ici s'appelle une passerelle: un serveur gère toutes les demandes, tandis qu'un autre se concentre sur le contenu. Normalement, cette configuration a des fonctionnalités de sécurité implémentées pour empêcher toute altération. Envisagez de rechercher des options pour mettre cela en œuvre.