WordPress

przekierowanie – WordPress wp-admin przekierowanie do reauth=1

  • 26 lipca, 2024
  • 3 min read
przekierowanie – WordPress wp-admin przekierowanie do reauth=1


Umieściliśmy WordPress na instancji AWS EC2 i podłączyliśmy ją do modułu równoważenia obciążenia aplikacji AWS (dostępnego z poziomu Internetu), a następnie do AWS Cloud Front. Nasza witryna internetowa jest skierowana do AWS Cloud Front.

Żądania wyglądają następująco: Użytkownik –> www.example.in –> AWS Cloud Front –> AWS ALB –> Instancja AWS EC2.

Kiedy próbujemy uzyskać dostęp do WordPressa z nazwą domeny, jest on w stanie się załadować,

Ponieważ aplikacja WP jest hostowana na httpd w katalogu /var/www/html/blogs/, więc gdy próbujemy uzyskać dostęp do strony www.example.in/blogs/, strona się ładuje, ale nie wyświetla się prawidłowo, chcę powiedzieć, że struktura strony nie jest dobra.

problem jest tutaj Kiedy próbujemy uzyskać dostęp do strony wp-admin www.example.in/blogs/wp-admin następuje przekierowanie

Wypróbowałem wiele rozwiązań, ale żadne nie zadziałało.

Plik .htaccess do przekierowania

[root@ip-10-0-2-194 blogs]# cat .htaccess
# BEGIN WordPress Multisite
# Using subfolder network type: 

# Let apache know we're behind a SSL reverse proxy
SetEnvIf X-Forwarded-Proto "https" HTTPS=on

# Redirect to HTTPS
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /blogs/
RewriteRule ^index\.php$ - [L]

# Add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . /blogs/index.php [L]

</IfModule>
# END WordPress Multisite

[root@ip-10-0-2-194 blogs]# 

dodałem te wiersze do wp-config.php.

/* Add any custom values between this line and the "stop editing" line. */
define( 'WP_MEMORY_LIMIT', '512M' );
define('FORCE_SSL_LOGIN', false);
define('FORCE_SSL_ADMIN', false);
define( 'CONCATENATE_SCRIPTS', false );
define( 'SCRIPT_DEBUG', true );

define('WP_HOME', '
define('WP_SITEURL', '

/* Turn HTTPS 'on' if HTTP_X_FORWARDED_PROTO matches 'https' */
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

/** Handle real IP address */
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = trim($ips[0]);
} elseif (isset($_SERVER['HTTP_X_REAL_IP']) && !empty($_SERVER['HTTP_X_REAL_IP'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CLIENT_IP'];
}

/* That's all, stop editing! Happy publishing. */

nawet zaktualizowaliśmy naszą bazę danych o siteurl i home.

MariaDB [wordpress]> SELECT option_name, option_value FROM wp_options WHERE option_name="siteurl" OR option_name="home";
+-------------+-----------------------------------+
| option_name | option_value                      |
+-------------+-----------------------------------+
| home        |  |
| siteurl     |  |
+-------------+-----------------------------------+
2 rows in set (0.000 sec)

MariaDB [wordpress]> 

utworzyliśmy certyfikat z rozszerzeniem *.example.in www.example.in i dołączyliśmy go również do chmury AWS oraz modułu równoważenia obciążenia aplikacji.

Warto przeczytać!  Promowanie rozwiązań open source – Wiadomości WordPress

Naszym celem końcowym jest uzyskanie dostępu do strony wp-admin z naszej domeny. Kiedy klikniemy www.example.in/blogs/wp-admin, musimy uzyskać stronę logowania i móc się zalogować.


Źródło