【问题标题】:.htaccess url on localhost [closed]本地主机上的.htaccess url [关闭]
【发布时间】:2013-01-23 14:34:54
【问题描述】:

我的 .htaccess 文件有一个小问题。它确实有效,但不知何故不能 100% 有效。 我正在寻找一种根据 url 构建网站的方法。因此,例如“example.com/en/home”将是主页。问题是我只能在 url 是这样的时候让它工作:'example.com/index/en/home'

我在 .htaccess 文件中的代码是:

RewriteEngine on
RewriteBase /htaccess/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1

域:

localhost/~axll/htaccess/

根文件夹位于 htaccess 下的 localhost (xampp for mac) 上。如果我理解正确,它应该将 'en/home' 附加到索引文件中,所以我应该能够将 'index' 部分留在 url 中,对吗?

编辑 1: 我在 php 中使用了 $_SERVER['PATH_INFO'] 并返回了以下内容:

Array ( [0] => [1] => php [2] => test )

数组的索引不应该和NULL不同吗?

【问题讨论】:

  • 除非您的网站位于名为 htaccess 的目录中,否则我认为您的 RewriteBase 应该是 /
  • 我同意。 RewriteBase /htaccess/ - 嗯,没有
  • 抱歉 - 错过了您的描述。不确定您的域是如何设置的,但我仍然怀疑那条线。
  • 我在问题中添加了域

标签: php .htaccess localhost


【解决方案1】:

我想我解决了这个问题。我找不到任何错误,所以我只是重新安装了我的本地主机,它就成功了。感谢大家的帮助!

【讨论】:

    【解决方案2】:

    也许您在主机配置中设置了 AllowOverride None?它将禁用 .htaccess 文件的使用

    将其更改为 AllowOverride All 以启用

    【讨论】:

    • 我在哪里可以找到/更改它?
    • 在您的 apache 主机配置文件 httpd.conf 或启用站点等的虚拟主机配置文件中。
    • 我更改并测试了它。问题依然存在
    猜你喜欢
    • 2021-04-11
    • 2019-01-03
    • 2011-03-09
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2015-08-08
    相关资源
    最近更新 更多