Как перенаправить все, кроме одного запроса, используя .htaccess? - PullRequest
3 голосов
/ 16 мая 2019

У меня есть сайт с React, который использует Wordpress исключительно как CMS. Маршруты обрабатываются на стороне внешнего интерфейса с помощью react-router, но из-за этого я не могу получить доступ к своей странице администратора WordPress, поскольку все маршруты перенаправлены на index.html.

Я бы хотел перенаправить все маршруты на index.html, кроме этого, который ссылается на мою админ-панель: www.mysite.com/wordpress/wp-login.php

Это мой .htaccess файл

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

Я попробовал это, но это не помогло:

...

RewriteCond %{REQUEST_URI} !^/wordpress
RewriteRule ^ index.html [QSA,L]

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Вы можете сделать это с помощью этого кода в вашем .htaccess (объяснения в коде):

# BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    # this line allows direct login to www.mysite.com/wordpress/wp-login.php
    RewriteRule ^wordpress/wp-login\.php$ - [L,NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # everything else goes to www.mysite.com/index.html
    RewriteRule . index.html [L,NC]
    </IfModule>
# END WordPress
1 голос
/ 16 мая 2019

Ваша папка WordPress должна иметь этот код htaccess.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...