.htaccess Codeigniter和WAMP路由问题-我错过了什么?

olqngx59  于 2023-03-30  发布在  其他
关注(0)|答案(2)|浏览(179)

这两天我一直在挠头,以为一些Maven的建议可以帮助我。
我有一个CodeIgniter应用程序需要维护(版本2.X),这是我第一次使用它。应用程序的结构是:

myApp
    application
        cache
        certs
        config
        controllers
        ...
        modules
            moduleA
                controllers
                models
                views
            moduleB
                controllers
                models
                views
            ...
        third_party
        views
    cgi-bin
    ...
    system
    themes
    uploads

我安装了WAMP,并将整个myApp放在c:\wamp\www下。我做的另一个步骤:
1)更改了Apache的“监听”端口,因为我也在我的机器上运行IIS。
2)已启用Apache重写模块。
3)在<Directory .../>部分设置“all”和“all granted”:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks

    AllowOverride all

    Require all granted
</Directory>

4)在'database.php'配置中正确设置数据库名称。
5)已验证的.htaccess文件位于myApp文件夹下,.htaccess的内容如下:

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

6)在“routes.config”中,默认控制器为:$route ['default_controller']=“登录”;
通过这些步骤,我能够在本地托管这个应用程序并工作一段时间。但是,我不得不更改我的Windows用户密码,重新启动计算机后,我突然收到404错误。
我可以通过(或只是)浏览到“登录”页面,但从那里我只收到404错误消息。我可以使用完整的URL浏览:

  • 404错误页面
    现在,我不确定这是否与我的Windows用户密码更改有关,但这个问题变成了一个巫毒,因为我发誓我可以在本地工作和浏览所有页面。我还重新安装了WAMP两次,并重复上述过程,以确保我做的事情是正确的。
    有人能想到我错过了什么吗?
flseospp

flseospp1#

找到了问题,至少对我有用:
在config.php中(在... myApp\application\config下),我将$config ['uri_protocol']的值从'AUTO'更改为'PATH_INFO'。

uajslkp6

uajslkp62#

步骤1添加或设置htaccess文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

步骤2将配置[“URI_protocol'] =”URI_REQUEST“更改为”路径信息“
这对我的CI3有效

相关问题