Zur Navigation

.htaccess redirect mit subdomain [2]

11 luggie (Gast)

Das ist die komplette .htaccess von Wordpress (ohne Kommentarte).
Es ist eine frische installation, in die ich 3 Dummyseiten gesetzt habe.
Ins backend komme ich nur, wenn ich den Startpunkt der Domain dirket auf den Ordner b2b setze.

01.04.2021 10:11

12 luggie (Gast)

Der Übersicht und Vollständigkeit halber nochmal zusammengefasst:

ausbilderplus.de/public_html/.htaccess

RewriteRule .b2b https://www.ausbilderplus.de/b2b/? [L,R=301]
RewriteCond %{REQUEST_URI} !b2b$
RewriteCond %{REQUEST_URI} !^/?b2b
RewriteRule ^(.*)$ https://www.abiria.ch/initiativen/ada-plus-und-aevo-plus-als-einstieg-in-den-aufstieg/$1 [R=301]

/public_html/ausbilderplus.de/public_html/b2b/.htaccess
# BEGIN WordPress
# Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
# dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
# Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /b2b/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# Wordfence WAF
# END Wordfence WAF

/public_html/ausbilderplus.de/public_html/b2b: Ort der Wordpressinstallation

/public_html/ausbilderplus.de/public_html/: Startpunkt der Domain

/public_html/ausbilderplus.de/public_html/b2b/index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );

/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';

01.04.2021 10:33

13 Jörg Kruse

Ins backend komme ich nur, wenn ich den Startpunkt der Domain dirket auf den Ordner b2b setze.

WordPress "denkt" anscheinend, dass es im DocumentRoot-Verzeichnis installiert ist. Schau mal in die Datenbanktabelle wp_options. Die Datensätze mit dem option_name 'siteurl' und 'home' sollten als option_value "https://www.ausbilderplus.de/b2b" enthalten.

Wenn der Startpunkt der Domain (das DocumentRoot) geändert wird, kommt das einem Verschieben der Installation gleich.

01.04.2021 10:54

14 luggie (Gast)

das hat's gelöst! Vielen Dank.
Ich habs lieber in der wp-config.php mit

define( 'WP_HOME', 'https://ausbilderplus.de/b2b/' );
define( 'WP_SITEURL', 'https://ausbilderplus.de/b2b/' );

gemacht. Das erschien mir sicherer als direkt in der db was zu ändern.
Außerdem half mir noch dieser Link: https://wordpress.org/support/article/changing-the-site-url/


Wenn du noch motiviert bist, hätte ich noch eine kleine Folgefrage.
Und zwar habe ich noch eine weitere Domain, die genau das gleiche machen soll: ausbilder-plus.de.
Wenn ich ihren Startpunkt auf den selben wie der von ausbilderplus.de setze, funltioniert der /b2b/ redirect, der ohne (also auf abiria.ch) nicht (403: Forbidden).

01.04.2021 13:01

15 Jörg Kruse

ausbilder-plus.de.
Wenn ich ihren Startpunkt auf den selben wie der von ausbilderplus.de setze, funltioniert der /b2b/ redirect, der ohne (also auf abiria.ch) nicht (403: Forbidden).

Das ist bei ausbilderplus.de nicht anders

In ausbilderplus.de/public_html/.htaccess von Beitrag 12 muss noch die RewriteEngine eingeschaltet werden:

RewriteEngine on

01.04.2021 14:18

16 luggie (Gast)

Traumhaft. Viele vielen Dank für die Hilfe!

01.04.2021 14:27

17 luggie (Gast)

Moin Jörg,
meine Anforderungen haben sich etwas geändert:

Ich möchte nun wie gehabt alle Seiten mit dem Suffix b2b auf https://www.ausbilderplus.de/b2b/ weiterleiten. Dazu alle, die diesen Suffix nicht haben auf https://www.ausbilderplus.de/login
Das funktioniert beides hiermit:

RewriteEngine on
RewriteRule .b2b https://www.ausbilderplus.de/b2b/? [L,R=301]
RewriteCond %{REQUEST_URI} !b2b$
RewriteCond %{REQUEST_URI} !^/?b2b
RewriteRule ^(.*)$ https://www.ausbilderplus.de/login/ [L,R=301]

Wenn ich nun jedoch auf eine Unterseite von https://www.ausbilderplus.de/login/ zB. https://www.ausbilderplus.de/login/registrieren geh, werde ich gemäß der .htaccess auf https://www.ausbilderplus.de/login/ zurück verwießen.

Ich habe versucht, dass ohne Erfolg mit diesem weiteren Eintrag zu beheben:

RewriteRule .login https://www.ausbilderplus.de/login/? [L,R=301]

Könntest du mir ein weiteres Mal dabei helfen?
LG luggie

23.04.2021 00:10

18 Jörg Kruse

Eien weitere Ausnahme für die Pfade definieren, die mit /login beginnen:

RewriteCond %{REQUEST_URI} !b2b$
RewriteCond %{REQUEST_URI} !^/?b2b
RewriteCond %{REQUEST_URI} !^/?login
RewriteRule ^(.*)$ https://www.ausbilderplus.de/login/ [L,R=301]

23.04.2021 10:22

19 luggie (Gast)

Siehr richtig aus - funktioniert leider noch nicht. Die Seiten wie .../login/register leiten weiter auf /login um

Habe es auch mit
RewriteCond %{REQUEST_URI} !login$
versucht

23.04.2021 15:09

20 Jörg Kruse

Habe es auch mit
RewriteCond %{REQUEST_URI} !login$
versucht

Das ist eine Ausname für URLs, die auf "login" enden

Zeig mal bitte den gesamten Code von https://www.ausbilderplus.de/.htaccess

Und in https://www.ausbilderplus.de/login/ ist auch noch ein WordPress installiert. Das hat vermutlich noch eine eigene .htaccess Datei - was steht denn da drin? wenn dort die RewriteEngine eingeschaltet ist, wird die Weiterleitung wohl eher dort veruracht, als in der .htaccess Datei des Wurzelverzeichnisses.

23.04.2021 16:01