gpt4 book ai didi

php - 在本地主机上的 Apache 中将根文件夹设置为子文件夹,这也将在生产服务器上工作

转载 作者:行者123 更新时间:2023-12-03 20:39:54 25 4
gpt4 key购买 nike

我有一个项目,它有一个“公共(public)”和“私有(private)”文件夹结构,位于主项目根文件夹内的同一级别(见附图)。
我希望本地服务器(在本例中为 MAMP)自动默认为“公共(public)”文件夹作为域根目录。这样做最好是在 php 中还是在 Apache 中?
此外,当我将网站上传到生产服务器时,域名将设置在“公共(public)”文件夹中,所以我理想情况下想要一个解决方案,这意味着我在上传网站时仍然是这种情况 - 即www.example.com将是“项目/公共(public)”文件夹。
这对我来说是全新的,所以对于解决这个问题的最佳方法有点不知所措。
folder structure

最佳答案

基本上,您只需要创建一个虚拟主机配置文件并在 Apache 配置文件中启用您的应用程序将要监听请求的端口。我从未使用过 MAMP,所以我给你一个 Linux 机器上的虚拟主机配置示例

  • 在/etc/httpd/conf.d/中创建一个 conf 文件
    vim/etc/httpd/conf.d/example.conf
  • 该文件将告诉 Apache 服务器的文档根目录是什么
    一个特定的端口。 PORT 可以是保留以外的任何可用端口
    端口 (0-1023)
    <虚拟主机 *:80>
    保持事件状态
    DocumentRoot "/var/www/example/public"
    <Directory "/var/www/example/public/">
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all

    # enable mod_rewrite
    RewriteEngine on

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </Directory>

    LogLevel Warn

    ErrorLog /var/log/httpd/example-error.log
    CustomLog /var/log/httpd/example-access.log combined

  • 添加此端口号 港口 在 Apache 配置文件中
    (/etc/httpd/conf/httpd.conf)
    听端口
  • 重新启动 Apache 服务器

  • 与 XAMP 和 WAMP 一样,MAMP 也应该有一个 GUI 来配置 Apache 服务器。您可以找到保存这些虚拟主机配置的位置/文件夹,并且可以直接通过任何文本编辑器修改该文件
    你也可以引用这些
    Configuring Virtual Hosts With MAMP
    Adding a virtual host in MAMP for Mac

    关于php - 在本地主机上的 Apache 中将根文件夹设置为子文件夹,这也将在生产服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67443435/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com