1

我目前在工作中使用运行 Mavericks 的 iMac 进行开发。当我第一次拿到机器时,我使用内置版本的 Apache 并使用自制软件安装了 MySQL。最近我遇到了一个问题,我的一个虚拟主机没有按预期工作,我最终使用 Virtual Host X 的恢复命令来清除我的虚拟主机并重新开始。

我设法让我的虚拟主机再次工作,但从那时起我注意到 mod_rewrite 虽然已启用,但无法正常工作。如果我访问http://mywebsite.local/events,我会收到错误 消息“未找到 - 在此服务器上未找到请求的 URL /事件”。但如果我去http://mywebsite.local/index.php/events查看页面很好。

我认为使用 Virtual Host X 进行还原可能会损坏我的 Apache 设置中的某些内容,因为还原命令确实有以下警告:

“备份文件包含您的所有 VirtualHostX 数据以及您的 Web 配置文件的副本。恢复备份将用以前备份的数据替换这些文件和您当前的数据(虚拟主机、域详细信息等)。”

这是我遇到问题的一个网站的虚拟主机设置的副本:

Options FollowSymLinks
AllowOverride None
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css|ttf|woff)$ /index.php

我第一次在山狮遇到这个问题,但后来升级到小牛,希望它能解决这个问题,但无济于事。

任何帮助都会很棒。如果问题不能轻易解决,任何人对如何完全摆脱 Apache 的机器并重新开始有任何建议也会有所帮助。

4

2 回答 2

0

感谢您的回答,但不幸的是它没有成功。不过我很高兴地说,这个问题现在已经解决了。我粘贴了您的代码,它完全停止了我的虚拟主机运行。我需要将我的原始代码粘贴回去,因此从 Stack Overflow 中的这篇文章中复制并粘贴回来,然后重新启动 Apache。我点击了几个链接,重写现在正在工作。

我猜有一些隐藏的字符导致了问题,当我将代码粘贴回去时,这些字符被根除。

我希望这对某人有帮助,因为这很烦人。

于 2013-10-29T14:28:23.957 回答
0

这应该在 Debian Apache2 中使用:

Options FollowSymLinks
AllowOverride None
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css|ttf|woff)$ /index.php [L]
于 2013-10-29T12:27:23.090 回答