Php .htaccess路由问题的GET方法

Php .htaccess路由问题的GET方法,php,.htaccess,codeigniter,url,routing,Php,.htaccess,Codeigniter,Url,Routing,我的页面上有一个搜索引擎,它以get方法开始。搜索部分工作正常,但路由部分工作不正常。我想,我的.htaccess文件中会出现以下问题: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1 [R=301,L] RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] Rewrite

我的页面上有一个搜索引擎,它以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?关键字=something
。如果我将它从URL替换为
www.mysite.com/search/something
,引擎就会工作。所以我只需要从.htaccess重定向它。 您需要知道的是,我是在Codeigniter中编写的,路由部分是:

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

有什么想法吗?感谢您的帮助。

要使用php重定向,请修改Routes.php文件

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

$route['search']['get'] = function ()
{
    $url='home/search/'.$_GET['keyword'];
    header("Location: $url");
die();
}; 

你为什么不把你的表格提交给/搜索/什么的?你的问题不清楚。清楚地解释你需要做什么我只需要将URL从www.mysite.com/search?keyword=something重定向到www.mysite.com/search/something via.htaccess