【问题标题】:.htaccess not working and confusion.htaccess 不工作和混乱
【发布时间】:2017-03-21 13:44:10
【问题描述】:

我查看了很多关于 .htaccess 不起作用的问题。 都试过了,我的还是不行。

以前它仍然对我有用,当我删除应用程序文件夹中的 .htaccess 文件时问题就开始了。

我所遵循的教程没有特别提到删除该 htaccess,而只是将其复制到根目录。所以基本上,当它还在工作时,我有 2 个 htaccess 文件,分别位于应用程序文件夹和应用程序文件夹内。

现在,即使我删除了应用程序中的 .htaccess 文件,在我的项目根目录中只留下了 1 个 .htaccess,它仍然无法工作。

我仍然必须包含 'index.php' 才能使 url 正常工作。

当我不包含 index.php 时,它不一定会显示 404。

它只是显示这个页面,

这是我的 .htaccess 文件的内容。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

我的配置文件。

$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

除此之外,我已经尝试过,刷新我的 wamp 连接,关闭我的电脑然后再次打开它。

我不知道出了什么问题,因为它第一次对我有用,即使我有 2 个 htaccess,它仍然不会。当我不小心删除了那个 1 个文件时发生了一些事情。

我的系统是 Windows 7 32 位,我正在使用 WAMP。我已经在我的 wamp 上打开了 apache 的重写模块。我正在使用最新的 codeigniter,3.1.2

这也可以给个提示,

当我加载视图时,css url 不起作用。

css url 应该是localhost/project/css/bootstrap.min.css

但是,相同的结果,相同的页面显示在上面。

我的 apache 上的 httpd.conf 也有这个。

<Directory />
    AllowOverride none
    Require all denied
</Directory>

【问题讨论】:

  • 查看RewriteBase,因为这是一个相对路径/目录。除非它直接在localhost 上作为根。
  • 我昨天刚用新的 codeigniter 版本安装了我的 wamp,所以我不知道 rewritebase 是什么,这是我第一次看到它。这是我的项目的目录。 C:\wamp\www\project\
  • 尝试将以下内容放在您的 RewriteEngine 定义下:RewriteBase /project/
  • 您发布的规则工作正常,并将所有内容重写为 index.php 例如:/foobar/index.php/foobar 我认为问题是其他地方。
  • 我在技术方面没有经验,如果我刚卸载 wamp 然后重新安装,你会推荐吗?

标签: php apache .htaccess mod-rewrite


【解决方案1】:

我不确定为什么会这样,但我发现了一个专门针对 ci3 htaccess 问题提到的 htaccess。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php?$1 [L]

没有太大区别,只是它删除了 index.php 之前的 '/' 并将 '/' 替换为 '?'在 index.php 之后

这是因为我使用的是 CI 3 吗?

Codeigniter 3 remove index.php problems

【讨论】:

    猜你喜欢
    • 2017-02-15
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2015-02-26
    • 1970-01-01
    • 2011-05-29
    • 2012-06-09
    相关资源
    最近更新 更多