FastCGI .htaccess редирект не работает

1

Я разрабатываю PHP, MVC, веб-приложение на сервере с fastcgi. Из-за fastCGI мне пришлось использовать знак вопроса в моем RewriteRule следующим образом:

RewriteRule ^(.*)$ index.php?/$1 [L] 

но затем, когда я пытаюсь сделать простой 301-редирект, я в конечном итоге перенаправлен на неудобный URL-адрес: http://example.com/bg/home/login?/admin

Мой.htaccess выглядит так:

RewriteEngine On
DirectoryIndex index.php

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Redirect 301 /admin /bg/home/login

Любые идеи о том, как правильно переадресовать 301?

Теги:
.htaccess
redirect
fastcgi

1 ответ

0

Вы должны добавить исключение для этого URI после последнего RewriteCond:

RewriteCond %{REQUEST_URI} !^/bg/home/login$

Если вы хотите избавиться от строки запроса, лучший способ - это использовать RewriteRule вместо Redirect. Добавить перед первым RewriteCond:

RewriteRule ^admin$ /bg/home/login? [R=301,L]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню