You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Symfony项目URL从localhost/Website改为website/访问?

嗨,别担心,这个问题其实就是Web服务器虚拟主机的配置环节没搞定,你已经把hosts文件配置好了,接下来只需要把服务器的网站根目录指向Symfony项目的web文件夹,再加上对应的重写规则,就能实现用http://website/直接访问啦!我分两种常用的Web服务器给你详细说:

针对Apache服务器的配置步骤
  • 找到Apache的虚拟主机配置文件位置:
    • Linux系统一般在/etc/apache2/sites-available/目录下
    • Windows用XAMPP的话,路径是C:\xampp\apache\conf\extra\httpd-vhosts.conf
  • 创建或修改一个虚拟主机配置文件(比如命名为website.conf),填入以下内容,记得替换/path/to/your/Website/web为你项目web目录的实际路径:
<VirtualHost *:80>
    ServerName website
    DocumentRoot /path/to/your/Website/web

    <Directory /path/to/your/Website/web>
        AllowOverride All
        Require all granted
        # 开发环境指定app_dev.php作为入口,生产环境可换成app.php
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app_dev.php [QSA,L]
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/website_error.log
    CustomLog ${APACHE_LOG_DIR}/website_access.log combined
</VirtualHost>
  • 启用配置并重启Apache:
    • Linux下执行sudo a2ensite website.conf,然后sudo systemctl restart apache2
    • Windows的话要确保httpd-vhosts.conf已经被包含在Apache的主配置文件httpd.conf里(一般需要去掉Include conf/extra/httpd-vhosts.conf前面的注释),然后重启XAMPP里的Apache服务
针对Nginx服务器的配置步骤
  • 找到Nginx的虚拟主机配置目录:
    • Linux系统一般在/etc/nginx/sites-available/
    • Windows下通常是C:\nginx\conf\sites-available
  • 创建website.conf配置文件,填入以下内容,替换/path/to/your/Website/web为实际路径,同时注意fastcgi_pass的PHP-FPM路径要匹配你当前的PHP版本:
server {
    listen 80;
    server_name website;
    root /path/to/your/Website/web;

    location / {
        try_files $uri $uri/ /app_dev.php$is_args$args;
    }

    location ~ ^/app_dev\.php(/|$) {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 比如PHP8.2的话就是php8.2-fpm.sock
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }

    error_log /var/log/nginx/website_error.log;
    access_log /var/log/nginx/website_access.log;
}
  • 启用配置并重启Nginx:
    • Linux下执行sudo ln -s /etc/nginx/sites-available/website.conf /etc/nginx/sites-enabled/,然后sudo systemctl restart nginx
    • Windows的话需要把这个配置文件通过include指令添加到Nginx的主配置文件nginx.conf中,然后重启Nginx服务
额外提醒
  • 一定要确保路径填写正确,比如Windows下可能是C:\xampp\htdocs\Website\web,Linux下可能是/var/www/Website/web
  • 开发环境用app_dev.php作为入口,要确保项目.env文件里的APP_ENV=dev;如果是生产环境,记得换成app.php
  • Linux系统下要确保web目录的权限正确,可执行sudo chown -R www-data:www-data /path/to/your/Website/web赋予Apache/Nginx用户读写权限

内容的提问来源于stack exchange,提问作者Rockleader01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:59:43