Cas*_*dra 5 apache .htaccess codeigniter
我正在使用 .htaccess 删除 CodeIgniter 项目的 index.php。我让它在本地主机上正常工作,但在我的主机上失败了。我的托管向我展示的结构是这样的:
/
-- domains
---- mydomain.com
------ public_html
-------- .htaccess
-------- (the rest of my CI site)
Run Code Online (Sandbox Code Playgroud)
在本地主机中我的 .htaccess 是这样的:
RewriteEngine on
RewriteBase /myCIfolder/
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
RewriteBase /
RewriteBase /domains/
RewriteBase /domains/mydomain.com/
RewriteBase /domains/mydomain.com/public_html/
RewriteBase /mydomain.com/
RewriteBase /mydomain.com/public_html/
RewriteBase /public_html/
Run Code Online (Sandbox Code Playgroud)
但我无法让它发挥作用。我已询问我的主机提供商,他们说 MOD_REWRITE 已启用。
任何想法都会受到高度赞赏。
编辑1
我的索引页面(mydomain.con - 主控制器,索引功能)加载正确,但任何其他控制器都失败。
和
RewriteBase /
Run Code Online (Sandbox Code Playgroud)
它向我显示了错误:
未指定输入文件。
任何其他 RewriteBase 显示:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请联系服务器管理员 webmaster@mydomain.com 并告知他们错误发生的时间以及您可能执行的任何操作导致错误。
有关此错误的更多信息可在服务器错误日志中找到。
此外,尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。
Apache/2 服务器位于 mydomain.com 端口 80
感谢 @Fuzzzzel 评论,我已经解决了这个问题,它引导我找到了这个。
所以我将 .htaccess 更改为
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)
它终于起作用了。谢谢你!:)
| 归档时间: |
|
| 查看次数: |
10186 次 |
| 最近记录: |