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.
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ć.