【问题标题】:Apache .htaccess setting errorApache .htaccess 设置错误
【发布时间】:2015-08-15 01:07:15
【问题描述】:

我正在尝试通过 Apache 中的 .htaccess 设置创建一个安静的 url(它在 Yosemite 中默认安装。

这是我的设置

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]

当我在浏览器中输入“http://localhost/~jokerham/API/user”时, 我收到一条错误消息

Not Found

The requested URL /Users/jokerham/Sites/API/index.php was not found on this server.

但是当我在终端中检查文件时,文件存在。

hamdong-gyun-ui-MacBook-Air:API jokerham$ pwd
/Users/jokerham/Sites/API
hamdong-gyun-ui-MacBook-Air:API jokerham$ ls
index.php

为什么我的 .htaccess 设置会出错?

【问题讨论】:

  • 您是否在 apache 中启用了用户主目录?
  • 我做到了。当我使用localhost/~jokerham/API/index.php 访问网址时,它工作正常。
  • user 是一个真实的目录吗?
  • 用户不是真正的目录。

标签: macos apache .htaccess osx-yosemite


【解决方案1】:

也许在您的 API 目录中尝试这种方式的规则

RewriteEngine On
RewriteBase /~jokerham/API
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php [L]

【讨论】:

  • 谢谢。我试过但结果相同。 "在此服务器上找不到请求的 URL /API/index.php。"
  • 我已将设置更改如下,并且有效。 :: RewriteEngine On RewriteBase /~jokerham/API RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/?$ index.php [L]
  • @HamDongKyun 好酷。您只需要根据 .htaccess 的位置包含正确的重写库。
  • 感谢您的澄清。
猜你喜欢
  • 2016-03-26
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2020-07-17
  • 2017-04-21
  • 2018-06-14
  • 2011-05-01
  • 2012-12-04
相关资源
最近更新 更多