我的应用程序网址是
http://localhost/myapp/admin/index.php/projects
我想把它重写为
http://localhost/myapp/admin/projects
我遵循了用户指南
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
为此,但不适用于我。
我的应用程序网址是
http://localhost/myapp/admin/index.php/projects
我想把它重写为
http://localhost/myapp/admin/projects
我遵循了用户指南
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
为此,但不适用于我。
谢谢 /* 实际上MAB */:您的代码确实有效。上面的代码适用于 localhost(Windows 上的 WAMP 服务器)。如果您已将 codeigniter 项目放在某个文件夹中,例如您的目录结构如下所示:
C:\wamp\www\proposal
所以,你必须更换
RewriteRule ^(.*)$ /project/index.php/$1 [L]
至
RewriteRule ^(.*)$ /proposal{or your folder name}/index.php/$1 [L]
如果您的项目不是这种情况{您已将 codeigniter 直接放入 www 文件夹},则从上述代码中删除文件夹名称,如下所示;
RewriteRule ^(.*)$ /index.php/$1 [L]
也不要忘记改变
$config['index_page'] = 'index.php';
至
$config['index_page'] = '';
在您的配置文件夹 {config.php}
我希望其他人也提供了相同的答案,但是由于上面的代码在我的项目中有效,我觉得也提供了一些细节。
请按照以下步骤操作:
1- 如果您在 localhost 上工作,请在 php.ini 中启用 mode_rewrite
2- 在项目文件夹下创建一个 .htaccess 文件并将其粘贴(请将“项目”更改为您的项目文件夹名称):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /project/index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /project/index.php
</IfModule>
3- 在 application/config.php 编辑这一行:
$config['index_page'] = "";