gpt4 book ai didi

symfony - 从网址中删除 web/app_dev.php/

转载 作者:行者123 更新时间:2023-12-04 08:49:50 25 4
gpt4 key购买 nike

我在 symfony 2 中完成了我的应用程序。
现在我想从 url 中删除 web/app_dev.php/。

我阅读了相关内容并在执行此操作后:

php app/console cache:clear --env=prod --no-debug

并添加.htaccess:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]

RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>

之后我可以使用 url: localhost/test/web/但这不完全是我的目标。我也想删除网络。

在此之后还有另一个问题。当我使用 localhost/test/web/访问页面时,缺少一些样式表,但在 app_dev.php 中一切看起来都不错。

我的问题是,如何从 url 中删除/web/?我怎么能缺少样式表呢?

最佳答案

要删除 web,您只需修改您的 apache 配置,将 web 作为根目录。

    DocumentRoot /yourpath/www/web
<Directory /youpath/www/web/>

Apache 虚拟主机完整配置示例:

<VirtualHost *:80>
ServerName www.yourdomain.com
DocumentRoot /yourpath/www/web

<Directory /yourpath/www/web>
Options FollowSymLinks
AllowOverride None
Require all granted
Allow from All

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</Directory>

LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/your_site.error.log
CustomLog ${APACHE_LOG_DIR}/your_site.log combined
</VirtualHost>

在生产中你应该删除app_dev.php并设置为根目录 symfony web 文件夹

注意:我没有添加 <IfModule mod_rewrite.c></IfModule>因为如果您没有它,您希望 apache 通知您缺少此模块。

关于symfony - 从网址中删除 web/app_dev.php/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21259519/

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