0

我有一个名为(例如)TheLink的控制器,我通常可以通过mywebsite/index.php/TheLink访问它。是否可以在 htaccess 中创建 RewriteRule 以通过mywebsite/index.php/The-Link访问它而不重定向到 TheLink?所以基本上我想要它的 URL 说mywebsite/index.php/The-Link(带破折号)但使用 TheLink 控制器。我试过了

RewriteRule ^The-Link$ index.php/TheLink [L]

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

4

2 回答 2

1
# 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/
于 2012-11-22T14:32:06.550 回答
0

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

Codeigniter Routes 正则表达式 - 在控制器/方法名称中使用破折号

编辑:此外,还有许多不同的解决方案,包括上述解决方案,可在此处找到: http: //ellislab.com/codeigniter/forums/viewthread/124396/

于 2012-11-22T15:40:36.717 回答