Как перенаправить URL в codeignator используя htaccess? - PullRequest
0 голосов
/ 29 ноября 2018

Я использую кодовый указатель и мне нужно перенаправить URL.У меня есть два URL, которые выглядят следующим образом:

https://example.com/contact-us/ 
https://example.com/about-us/who-we-are/

У меня нет имени или представления контроллера contact и about-us/who-we-are/ в моем проекте codeignator.

Давайте поговорим о существующем URL

Я удаляю index.php и имя контроллера из URL.

Итак, мой старый URL-адрес

https://example.com/index.php/Menu_control/aboutus

Теперь новый URL-адрес

https://example.com/aboutus

//$route['(:any)'] = 'Menu_control/$1';//remove the controller name

Теперь, когда пользователь вводит URL-адрес https://example.com/contact-us/, он должен быть перенаправлен на https://example.com/aboutus/

То же, что и на моем втором URL https://example.com/about-us/who-we-are/ для перенаправления на https://example.com/services/

Я попробовал какой-то код в .htaccess, но он не работает для меня.

Redirect 301 "https://example.com/contact/" "https://example.com/aboutus/"

Не могли бы вы помочь мне в этом вопросе?

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Наконец я нашел свой ответ.Я не знаю, лучше это или нет, но решил мою проблему.

Я добавил код в .htaccess

RewriteRule ^contact-us/ https://example.com/aboutus [R=301,L]
RewriteRule ^about-us/who-we-are/ https://example.com/services/ [R=301,L]

Когда пользователь вводит URL https://example.com/contact-us/, он перенаправляется на https://example.com/aboutus

0 голосов
/ 29 ноября 2018

Директива Apache Redirect должна работать.Я думаю, что неудачные попытки его использования связаны с синтаксическими ошибками.Вторым аргументом (после статуса) должен быть URL-путь , а не URL .Тонкое, но важное различие.

Попробуйте это в .htaccess

Redirect 301 "/contact" "https://example.com/aboutus"
Redirect 301 "/about-us/who-we-are" "https://example.com/services"

И, как я уверен, вы знаете, но я вынужден указать, убедитесь, что "модуль "псевдоним" (mod_alias) включен.

0 голосов
/ 29 ноября 2018

Добавление RewriteRrule в начало .htaccess после того, как RewriteBase / файл решил проблему.

RewriteRule ^foo/$ /foo/bar [R=301,L]
...