Переписать правило, но проигнорировать первую часть каталога? - PullRequest
1 голос
/ 10 марта 2019

Мне потребовалось 2 часа, но я не могу понять это, и я не знаю, как найти решение для Google.

Это мое правило перезаписи в .htaccess-файле:

RewriteCond %{REQUEST_URI} ^/blog(.*)
RewriteRule ^(.*) http://localhost:2368/$1 [P]

Когда я вызываю example.com/blog, он должен перенаправить меня в мой блог.Блог - это блог-призрак, работающий в nodejs (порт 2368).

Это будет работать, когда я не использую условие.Таким образом, я вижу основной сайт моего блога на example.com.

http://example.com/xy => http://localhost:2368/xy

Но с условием и правилом, похоже, что это происходит:

http://example.com/blog/xy => http://localhost:2368/blog/xy

Но я нене хотите, чтобы он перенаправлял на http://localhost:2368/blog/xy. Это может перенаправить на http://localhost:2368/xy.

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 10 марта 2019

Правило, которое вы ищете:

RewriteCond %{REQUEST_URI} ^/blog/(.*)
RewriteRule ^blog/(.*) http://localhost:2368/$1 [P]

$1 происходит от оператора RewriteRule, а не от RewriteCond.Итак, $1 содержит blog/xy вместо просто xy

Вы можете проверить работающее здесь правило: .htaccess tester

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