【问题标题】:How to setup XAMPP such that a website's root is in /html and not /如何设置 XAMPP 以使网站的根目录位于 /html 而不是 /
【发布时间】:2014-02-06 09:28:24
【问题描述】:

如何设置 XAMPP,使网站的根目录位于 /html 而不是 /

换句话说,我想设置 XAMPP,所以当我打开一个项目时,比如说 C:/xampp/.../myproject,[其中的内容是文件夹 /html、/views 和 /includes]服务器将在文件夹 /html 中输出索引文件,但 URL 不会显示 /myproject/html,而只是 /myproject [省略了从 html 文件夹中检索索引文件的任何提及。]

希望这足够具体。谢谢!

【问题讨论】:

    标签: php xampp virtualhost


    【解决方案1】:

    您需要为此设置一个虚拟主机,您可以在此处找到 VirtualHosts apache 配置 https://httpd.apache.org/docs/2.2/vhosts/。另一种方法是使用 Apache 的 mod_rewrite 在内部将所有请求重定向到您的文件夹到您的 html 目录。您可以将以下内容添加到项目根目录中的 .htaccess 文件中:

    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteRule ^$ html/ [L]
       RewriteRule (.*) html/$1 [L]
    </IfModule>
    

    【讨论】:

    • 嗨,我尝试使用 .htaccess 方法[因为它看起来更简单],并且在实施时,浏览到根目录时收到此错误 [500]。
    • "Internal Server Error 服务器遇到内部错误或配置错误,无法完成您的请求。请通过 postmaster@localhost 与服务器管理员联系,告知他们发生此错误的时间以及操作您在此错误之前执行。有关此错误的更多信息可能在服务器错误日志中可用。此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。Apache/2.4.7 (Win32) OpenSSL/0.9.8y PHP/5.4.22 服务器在 localhost 端口 80"
    • 您能否在错误日志中发布最后一个错误,它很可能在 c:\xampp\apache\logs 中?
    • [Fri Jan 17 00:37:07.471123 2014] [core:error] [pid 3112:tid 1772] [client 127.0.0.1:64171] AH00124:请求超出了 10 个内部重定向到期的限制到可能的配置错误。如有必要,使用“LimitInternalRecursion”增加限制。使用'LogLevel debug'获取回溯。,referer:localhost/jeromie
    • 您是否使用指向您的 JS 和 CSS 的链接作为 /html/css 或 /html/js?
    【解决方案2】:

    为此,您需要在设计 PHP Web 应用程序的前端和导航时使用框架。现在,由于我也是一名中级 PHP 开发人员,我不确定哪些 PHP 特定的框架可以帮助您实现这一目标。网络上有大量可用的开源 PHP 框架。访问PHP Frameworks了解更多信息。

    我目前正在使用 DurandalJS JavaScript 框架,并且已经成功地为我的 PHP Web 应用程序实现了这个功能。您可以通过here 了解有关 DurandalJS 的更多信息。我还知道另一个框架,Hot Towel SPA,它可以帮助我们做同样的事情。然而,Hot Towel SPA 是为 ASP.NET 应用程序设计的;如果你可以在 PHP 中复制它,那就太好了。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-02-15
      • 2012-11-19
      • 1970-01-01
      • 2014-08-04
      • 2017-06-06
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多