在此服务器上找不到请求的URL / public_html /

时间:2013-05-01 07:12:05

标签: .htaccess url localhost public-html

我正在当地的MAMP网站上工作。我使用微型MVC框架来使用友好的URL 所以我不需要在网址中调用index.php(位于public_html目录中)。

为实现这一目标,我有以下htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI} !public_html/
RewriteRule (.*) /public_html/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

然后我在/ etc / hosts

中有以下行
127.0.0.1   mywebsite

另外,我在httpd.conf中有以下内容

<VirtualHost *>
  DocumentRoot "/Applications/MAMP/htdocs/mywebsite"
  ServerName mywebsite
</VirtualHost>

因此,如果我只是从浏览器中调用http://mywebsite,整个过程就会顺利进行。

那么问题是什么?

如果我尝试从LAN中的其他计算机访问同一页面,则会出现此问题。

所以,如果我写http://192.168.1.15/mywebsite,答案是:

未找到

在此服务器上找不到请求的网址/ public_html /。

如果我从自己的机器上拨打http://localhost/mywebsite,我会收到相同的消息。

我觉得这与.htaccess有关,但我一直在尝试 我在网上找到了很多不同的想法,没有任何作用。

我想解决这个问题,因为我需要其他人从他们的机器上查看网站。

如果您有任何线索请帮忙。非常感谢。

编辑:我无法解决此问题,因此作为临时解决方案,我已在AppFog创建了一个免费帐户,以便我的团队能够访问该页面,直到我们投入生产。 经过这么多年,我认为计算会更容易......实际上,它变得越来越难。 htaccess文件对我来说是个巨大的谜团!无论如何,谢谢:)

2 个答案:

答案 0 :(得分:1)

顺便说一句......正如我告诉你的那样,我找到了解决问题的方法。有趣的是我必须使用不同的.htaccess文件。我认为你可能会感兴趣,只要你觉得你喜欢计算东西:)

这是在我的局域网debian服务器上运行的.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(www/.*)$
RewriteRule ^(.*)$ index.php [QSA,L]

正如您所看到的,它与我在第一篇文章中向您展示的那个不同。我的结论?好吧,即使我总是试图让事情变得简单,生活也会让我看到一切都变得更加复杂。查看.htaccess文件。这很有趣......我已经学会了使用不同的代码组合来处理它。

不是很疯狂吗?是的。请让我们做可以理解的软件。谢谢!

答案 1 :(得分:0)

好的,我一直在尝试很多不同的事情,而且所有事情都失败了。我发现的唯一解决方案是将网站安装在单独的LAN debian服务器中。一切都以这种方式正常运行,但是不可能通过我的MAMP机器使其正常工作。

为什么不呢?好吧,我不知道。经过很多年的计算,我学会了说“我不知道”,你知道我的意思。

我已经免费使用AppFog帐户工作了几天,但是,你知道,当你把数据库和整个数据库放在那里时,这个东西是行不通的。明显。

所以最后我发现的唯一解决方案是将所有内容放在本地局域网debian服务器上。

无论如何,谢谢你。)