【问题标题】:PHP symfony routing issuesPHP symfony 路由问题
【发布时间】:2025-11-28 05:05:01
【问题描述】:

所以我有一个在 Symfony 中运行的 PHP 网站,我使用 XAMPP 来设置 apache 和 php。该网站嵌套在几个文件夹下,如下所示: C:\xampp\htdocs\company\PHP_Site\website\web

所以我的网址是:http://localhost/company/PHP_Site/website/web

我有一个 .htaccess 文件,它重写了 URL,所以它们看起来很漂亮,最后没有 .php。

DirectoryIndex app.php

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

# Explicitly disable rewriting for front controllers
RewriteRule ^app_dev.php - [L]
RewriteRule ^app.php - [L]

RewriteCond %{REQUEST_FILENAME} !-f

# Change below before deploying to production
#RewriteRule ^(.*)$ /app.php [QSA,L]
RewriteRule ^(.*)$ app_dev.php [QSA,L]

我的 httpd.conf 文件和所有内容都启用了重写。

我遇到的问题是生成的一些 URL 看起来像这样:http://localhost/cart 而不是 http://localhost/company/PHP_Site/website/web/cart

我不知道我在路由配置中做错了什么。请帮忙

【问题讨论】:

  • 第一步是设置一个虚拟主机,它将一个 url 直接映射到您的 web 目录。这将使您能够开箱即用地使用 Symfony htaccess 并摆脱这些错误。那里有很多例子。

标签: php apache .htaccess symfony routing


【解决方案1】:

正如 Cerad 所说,您需要将 DocumentRoot 指令设置为指向 C:\xampp\htdocs\company\PHP_Site\website\web 而不是 C:\xampp\htdocs\。另外,您应该输入以下内容,而不是上面的 .htaccess 文件:

FallbackResource /app.php

在主服务器配置中 - 做同样的事情。

.htaccess 文件适用于无权访问服务器配置文件的人员。

【讨论】: