对于/web目录Symfony 3,返回404

对于/web目录Symfony 3,返回404,web,directory,http-status-code-404,symfony,Web,Directory,Http Status Code 404,Symfony,我的所有链接都可以通过mysite.com访问,也可以通过mysite.com/web访问/ 我不想将/web重定向到/但是,我想返回一个404 for^/web。我认为这是可能的,因为我看到很多symfony项目返回404错误/web路径 谢谢大家 您需要修改apache配置,以便文档根指向/web文件夹 您的apache配置文件需要类似以下内容: <VirtualHost *:80> ServerName www.mysite.com ServerAlias mysite.com

我的所有链接都可以通过mysite.com访问,也可以通过mysite.com/web访问/

我不想将/web重定向到/但是,我想返回一个404 for^/web。我认为这是可能的,因为我看到很多symfony项目返回404错误/web路径


谢谢大家

您需要修改apache配置,以便文档根指向/web文件夹

您的apache配置文件需要类似以下内容:

<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com
ServerAdmin contact@mysite.com
RewriteEngine On

DocumentRoot your_site_path/web

<Directory your_site_path/web/>
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    <IfModule mod_rewrite.c>
        RewriteEngine On
        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>
</Directory>
</VirtualHost>

服务器名www.mysite.com
服务器别名mysite.com
服务器管理员contact@mysite.com
重新启动发动机
DocumentRoot您的站点路径/web
选项如下符号链接多视图
不允许超限
命令允许,拒绝
通融
重新启动发动机
RewriteCond%{ENV:REDIRECT_STATUS}^$
重写规则^app\.php(/(.*)|$)%{ENV:BASE}/$2[R=301,L]
RewriteCond%{REQUEST_FILENAME}-f
重写规则[L]
重写规则.?%{ENV:BASE}/app.php[L]

首先感谢您,但我正在使用.htaccess,因为我不在专用服务器上。我在/directory中已经有一个htaccess:RewriteEngine在RewriteBase/RewriteCond%{HTTP_HOST}^www\(.*)$[NC]RewriteRule^(.*)$HTTP://%1/$1[R=301,L]RewriteCond%{REQUEST_FILENAME}-f RewriteRule^(.*)$web/$1[QSA,L]现在,我的当您键入example.com/时没问题,但当您录制example.com/web时,也没问题,因此我有重复的内容。当/web位于我的URL上时,我要做的是返回404。谢谢