【问题标题】:.htaccess not working under WAMP.htaccess 在 WAMP 下不起作用
【发布时间】:2015-07-05 22:45:54
【问题描述】:

我有一个位于 F:/wamp/www/proto 的目录,结构如下

  • 管理员
  • 功能
  • img
  • 公开
  • 风格
  • .htaccess

我的 .htaccess 包含

RewriteEngine On
RewriteRule  /proto/public/index.php     /proto/public/indexx.php

(对于一个简单的测试)

LoadModule rewrite_module modules/mod_rewrite.so 在 httpd.conf 中未注释

我重启了WAMP,我可以访问local/proto/public/index.php,但无法访问local/proto/public/indexx.php

我也尝试将 .htaccess 放入公用文件夹,但没有任何改变,错误 404

我的 .htaccess 放错地方了吗?我应该在 Apache 中编辑其他内容吗?

【问题讨论】:

  • 您可能在 apache 配置 (httpd.conf) 中错过了 .htaccess 所在目录的 AllowOverride 指令。
  • index.phpindexx.php 都存在吗?其实,你想访问index.php(不用在浏览器地址栏中更改它)并查看indexx.php的内容吗?还是相反?
  • @atax 我在任何需要的地方都有AllowOverride,还有Require all granted @JustinIurman 我有一个index.php,我想在使用indexx.php 时显示它,所以与你的要求相反

标签: php apache .htaccess mod-rewrite


【解决方案1】:

由于您的 htaccess 位于 proto 文件夹中,在这种情况下,RewriteRule 将删除 public 之前的所有内容(每个目录上下文)。所以你试图匹配一个不正确的路径。

你可以用这个替换你当前的代码

RewriteEngine On
RewriteBase /proto/

RewriteRule ^public/indexx\.php$ public/index.php [L]

现在local/proto/public/indexx.php 将在内部重写为(= 显示与local/proto/public/index.php 相同的内容)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 2013-04-26
    相关资源
    最近更新 更多