.htaccess CodeIgniter和htaccess重写规则

.htaccess CodeIgniter和htaccess重写规则,.htaccess,mod-rewrite,codeigniter-2,.htaccess,Mod Rewrite,Codeigniter 2,我有一个名为(例如)TheLink的控制器,我通常可以通过mywebsite/index.php/TheLink访问它。是否可以在htaccess中创建重写规则,通过mywebsite/index.php/链接访问它,而不重定向到链接?因此,基本上我希望它的URL是mywebsite/index.php/链接(带破折号),但使用链接控制器。 我试过了 重写规则^index.php/TheLink链接 [L] 但这只是将我重定向到默认的CodeIgniter 404页面 # To remove i

我有一个名为(例如)TheLink的控制器,我通常可以通过mywebsite/index.php/TheLink访问它。是否可以在htaccess中创建重写规则,通过mywebsite/index.php/链接访问它,而不重定向到链接?因此,基本上我希望它的URL是mywebsite/index.php/链接(带破折号),但使用链接控制器。 我试过了

重写规则^index.php/TheLink链接 [L]

但这只是将我重定向到默认的CodeIgniter 404页面

# To remove index.php from URL

RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
此外,如果网站托管在另一个目录中,而不仅仅是根目录,请添加以下内容:

RewriteBase /some_directory/

显然,这个问题与htaccess无关,而是以完全不同的方式解决的。可在此处找到解决方案:

编辑:此外,这里有许多不同的解决方案,包括上面的解决方案:

谢谢你,但这不是我要的。我的问题是如何在URL中使用破折号,因为控制器类显然不能用破折号命名。示例:所需URL:…/My Link/----控制器名称:MyLink