Проблема маршрутизации .htaccess с методом GET - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть поисковая система на моей странице, которая начинается с метода get. Поисковая часть работает хорошо, а маршрутизация - нет. Я думаю, будет проблема в моем файле .htaccess, который является следующим:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$  /$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

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

RewriteCond %{HTTP_HOST} !^www\.(.*)
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

Поэтому, когда я нажимаю на кнопку поиска, он перенаправляет меня на www.mysite.com/search?keyword=something. ЕСЛИ я заменяю его с URL на www.mysite.com/search/something, двигатель работает. Так что мне просто нужно перенаправить его из .htaccess. Что вам нужно знать, я написал это в Codeigniter, и часть маршрутизации:

$route['/search/(:any)'] = "home/search/$2";

Есть идеи? Спасибо за помощь.

1 Ответ

0 голосов
/ 03 сентября 2018

для перенаправления с помощью php измените файл Routes.php

$route['/search/(:any)'] = "home/search/$2";

$route['search']['get'] = function ()
{
    $url='home/search/'.$_GET['keyword'];
    header("Location: $url");
die();
}; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...