.htaccess 将控制器重定向到主索引

.htaccess 将控制器重定向到主索引,.htaccess,codeigniter,indexing,routes,.htaccess,Codeigniter,Indexing,Routes,我有一个用于重定向的控制器,名为redirect.php。此控制器有一个\u重新映射($method) 此\u remap方法通过将重定向控制器后的任何URI字符串赋回到控制器中来工作。例如,请求http://mysite.com/redirect/sometext会将请求发送回http://mysite.com/redirect 这是我想要的行为,但我将如何在索引级别实现这一点,而不必键入http://mysite.com/redirect/sometext,我可以键入http://mysit

我有一个用于重定向的控制器,名为
redirect.php
。此控制器有一个
\u重新映射($method)

\u remap
方法通过将重定向控制器后的任何URI字符串赋回到控制器中来工作。例如,请求
http://mysite.com/redirect/sometext
会将请求发送回
http://mysite.com/redirect


这是我想要的行为,但我将如何在
索引级别实现这一点,而不必键入
http://mysite.com/redirect/sometext
,我可以键入
http://mysite.com/sometext
并获得相同的行为。这很有挑战性,因为CodeIgniter使用
Index.php
,所以我不能将
\u remap
方法放在这里。由于,我对路线和.htaccess不太熟悉。希望您能提供任何帮助以使其正常工作。

如果您想走路线,您可以为您拥有的每个控制器创建一条路线,也就是控制器
somepage
将有一条路线
$route[“somepage”]=“somepage”,然后在所有这些之后(在路线的最底部)。路由的工作原理是找到第一个匹配的正则表达式,然后使用它,因此为了确保所有控制器都工作,并且只捕获常规文本,您需要这些规则中的每一条。
然后我们制定“默认”规则,这将适用于在之前的路线检查中未被捕获的所有内容。类似于
$route[“(.*]”]='redirect/index/$1'。这会将您重定向到控制器
redirect
,在上面的示例中,第一个uri段(段3)是
sometext
。请注意,这也将对404页运行,它将对上述规则中未定义的所有内容运行


我看不出这有什么意义,如果我是你,我会把它发送给重定向控制器,这样会让事情变得不那么混乱,但当然有一种方法如上所示。

Iv'e有一个特殊的用例,我需要去掉重定向段,但保留它的功能。我很快会试试你的建议。太好了,谢谢。我刚开始做测试。我正在迁移到一个新的测试服务器,遇到了一个问题,使我无法尝试使用它。工作完美。