Verwenden von '/ profile' in einem URL-Alias

8

Der Pfad '/ profile' ist als physischer Ordner im Stammverzeichnis einer Drupal-Installation vorhanden. Das Hinzufügen eines URL-Alias ​​für einen Inhalt zu '/ profile' funktioniert also nicht - ein 403-Fehler ist die Folge.

Glücklicherweise habe ich für ein bestimmtes Projekt einen SEO-Partner, der mir sagt, dass die Verwendung dieses bestimmten Pfades ein absolutes, kategorisches Muss ist. Wenn wir dies nicht haben, ist dies ein Beweis dafür, dass die Vorhersage des Weltuntergangs von Myan tatsächlich korrekt ist. Wir werden alle langsam sterben usw. usw.

Also werde ich diese etwas lächerliche Frage an die Massen richten, um zu sehen, ob jemand zuvor einen kreativen Weg gefunden hat, um dieses Problem zu lösen ...

Wie kann ich '/ profile' (und '/ profile / *' usw.) als URL-Aliase verwenden und gleichzeitig eine voll funktionsfähige, aktualisierbare Drupal-Instanz beibehalten?

Wichtig ist, dass wir das Global Redirect-Modul verwenden, bei dem die Optionen "De-Slash" und "Non-Clean to Clean" aktiviert sind (und dies muss auch so bleiben).

Clive
quelle
Nie getan, daher ein Kommentar und keine Antwort, aber da in / profile normalerweise nichts durchsuchbar ist, ist es meiner Meinung nach am besten, eine RewriteRule hinzuzufügen, um die angeforderte URL in einen anderen Basispfad zu ändern. Dies sollte Sie über das / profile-Problem hinwegbringen. Sie müssen dann wahrscheinlich eingehende Änderungen vornehmen, um wieder zu / profile zurückzukehren.
mpdonadio
4
Dies ist wahrscheinlich eine dumme Frage, aber könnten wir nicht einfach diese "RewriteRule ^ profile /(.*) /index.php?q=profiles/$1" oben in die htaccess-Datei setzen, um alle Anfragen an / profile to index neu zu schreiben .php? q = Profile /% oder würde dies Probleme mit Updates / Sicherheit verursachen
James
@MPD Klingt vielversprechend, ich habe es versucht, konnte aber nichts zum Laufen bringen
Clive
1
Wie wurde Ihre Site installiert? Ist es aus dem Standardprofil oder verwendet es eine Distribution, deren Installationsprofil und Module sich im Profilverzeichnis befinden?
Marek Sotak
1
@ James es funktioniert für mich :) versuche eine Antwort hinzuzufügen und gewinne +500!
Kalabro

Antworten:

11

1) .htaccess (vor Zeile 100):

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

2) VirtualHost (für die Einstellung des Schrägstrichs):

<Location /profiles>
     DirectorySlash Off
</Location>

Der zweite Teil wird nur benötigt, wenn Sie Global Redirect "de-slash" verwenden.

Kalabro
quelle
Genial, die DirectorySlash OffRichtlinie scheint den Trick getan zu haben. Vielen Dank :)
Clive
1
Brillant. Gut verdient die Prämie.
mpdonadio