Utilisation de '/ profiles' dans un alias d'URL

8

Le chemin '/ profiles' existe en tant que dossier physique à la racine d'une installation Drupal, ce qui signifie que l'ajout d'un alias d'URL pour un élément de contenu à '/ profiles' ne fonctionnera pas - une erreur 403 est le résultat.

Heureusement pour moi, pour un projet particulier, j'ai un partenaire SEO qui me dit que l'utilisation de ce chemin particulier est un must absolu et catégorique; ne pas l'avoir serait la preuve que la prédiction apocalyptique de Myan est en fait exacte, nous mourrons tous lentement, etc., etc.

Je vais donc aller de l'avant et lancer cette question légèrement ridicule aux masses pour voir si quelqu'un a trouvé un moyen créatif de résoudre ce problème avant ...

Comment puis-je utiliser '/ profiles' (et '/ profiles / *', etc.) comme alias d'URL, tout en conservant une instance Drupal entièrement fonctionnelle et pouvant être mise à jour?

Surtout, nous utilisons le module de redirection globale, avec les options «De-slash» et «Non-clean to clean» activées (et elles doivent rester de cette façon).

Clive
la source
Je n'ai jamais fait cela, donc un commentaire et non une réponse, mais comme il n'y a rien de normalement navigable dans / profiles, je pense que votre meilleur pari est d'ajouter une RewriteRule pour changer l'URL demandée en un autre chemin de base. Cela devrait vous permettre de surmonter le problème / profile. Vous devrez alors probablement modifier ensuite pour revenir au / profil.
mpdonadio
4
C'est probablement une question stupide, mais ne pourrions-nous pas simplement mettre ce "RewriteRule ^ profiles /(.*) /index.php?q=profiles/$1" en haut du fichier htaccess pour réécrire toutes les demandes vers / profiles à indexer .php? q = profiles /% ou cela causerait-il des problèmes de mise à jour / sécurité
James
@MPD Cela semble prometteur, j'ai essayé mais je n'ai rien pu faire fonctionner
Clive
1
Comment votre site a-t-il été installé? est-ce à partir du profil par défaut ou à l'aide d'une sorte de distribution qui a son profil d'installation et ses modules dans le répertoire des profils?
Marek Sotak
1
@James ça marche pour moi :) essayez d'ajouter une réponse et gagnez +500!
kalabro

Réponses:

11

1) .htaccess (avant la ligne 100):

RewriteRule ^profiles($|/(.*)) /index.php [L]

2) VirtualHost (pour le réglage de la barre oblique):

<Location /profiles>
     DirectorySlash Off
</Location>

La deuxième partie n'est nécessaire que si vous utilisez la redirection globale de "slash".

kalabro
la source
Génial, la DirectorySlash Offdirective semble avoir fait l'affaire. Merci :)
Clive
1
Brillant. Mérite bien la prime.
mpdonadio