htaccess leitet das Stammverzeichnis in das Unterverzeichnis um, lässt aber zu, dass index.php im Stammverzeichnis UND Abfragezeichenfolgen funktionieren

Lesezeit: 3 Minuten

Ich hatte eine ähnliche Frage und sie wurde beantwortet. Die Antwort führte jedoch zu einem anderen Konzept und nun habe ich folgende Frage. (Benutzer “anubhava” konnte die ursprüngliche Frage beantworten.)

Lassen Sie mich erklären, unsere Situation ist folgende:

Wir starten eine neue Website mit Joomla, wollten jedoch, dass alle eingehenden Links der alten Website weiterhin funktionieren (da wir viele Inhalte in WordPress auf der alten Website haben). Mit htaccess konnten wir also alle Anfragen an den primären Domainnamen in ein Unterverzeichnis mit der neuen Joomla-Website umleiten. [So as an example, requests for www.example.com get redirected to www.example.com/PORTALsite due to the htaccess code, which is what we want.]

Darüber hinaus ermöglicht dieser Code auch, dass Anfragen an die Startseite der alten WordPress-Website weiterhin funktionieren (die alte Website, die wir ersetzen). [So as an example, www.example.com/index.php will still function and load the old WordPress site, which is what we want.]

Nur wenn die Anfrage nur für den Domainnamen (www.example.com) gilt, wird sie auf die Startseite der neuen Joomla-Website (zu finden unter www.example.com/PORTALsite/) umgeleitet, aber wenn die Anfrage für die Startseite der alten Website gilt Seite (zu finden unter www.example.com/index.php) wird es dies zulassen und die alte WordPress-Website laden.

Hier ist der htaccess-Code:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[\s?]
RewriteRule ^$ /PORTALsite [R=301,L]

ABER mein Problem ist jetzt folgendes: Es gibt viele eingehende Links, bei denen die index.php-Seite der alten WordPress-Website weggelassen und nur eine Abfragezeichenfolge angehängt wird (die einen Seitennamen auf der alten Website über WordPress angibt). Da der obige Code dies jedoch nur als Aufruf an den primären Domainnamen sieht (da er die Abfragezeichenfolge „ignoriert“), leitet er dies auch auf die neue Joomla-Website um. Wir wollen nicht, dass dies geschieht! Irgendwelche Hilfe, bitte?

Beispiel was jetzt das Problem ist:

  1. (kein Problem) Anfragen für den primären Domainnamen werden erfolgreich auf die neue Jooma-Website umgeleitet, daher wird www.example.com auf www.example.com/PORTALsite umgeleitet, wie wir es wollen und wie es sollte.

  2. (kein Problem) www.example.com/index.php lädt die Startseite der alten WordPress-Website jedoch erfolgreich, wie wir es wollen und wie es sollte.

  3. das ist aber das problem: Eingehende Links, die keinen Dateinamen haben, aber eine Abfragezeichenfolge enthalten, wie z. B. www.example.com/?page_id=56, werden ebenfalls auf die neue Joomla-Website umgeleitet (z. B. www.example.com/PORTALsite/? page_id=56) UND DAS TUN WIR NICHT WOLLEN, DASS DAS GESCHIEHT.

    Wir möchten, dass www.example.com/?page_id=56 auf www.example.com/index.php?page_id=56 umleitet und den Inhalt von der alten WordPress-Site lädt. Wie mache ich das basierend auf dem obigen htaccess-Code?

Vielen Dank im Voraus für jede Hilfe!

RewriteEngine on
# Match requests for /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[\s?]
# Don't match requests for page_id=n
RewriteCond %{QUERY_STRING} !page_id=[0-9]+
# Redirect to /PORTALsite
RewriteRule ^$ /PORTALsite [R=301,L]

  • Danke Jon! Hat perfekt funktioniert!

    – Benutzer3097738

    17. Dezember 2013 um 13:40 Uhr

997710cookie-checkhtaccess leitet das Stammverzeichnis in das Unterverzeichnis um, lässt aber zu, dass index.php im Stammverzeichnis UND Abfragezeichenfolgen funktionieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy