Symfony(3.4)应用程序:无法通过.htaccess将请求重定向到/ web目录

时间:2019-07-06 14:21:17

标签: php .htaccess symfony server

我有一个网站可以说 website.fr (在服务器上:/web/website); 我在/web/website/blog/中添加了symfony博客应用。

我无法通过 website.fr/blog / 访问博客(404错误)

/web/website/blog/目录中有一个.htaccess文件,在/web/website/blog/web目录中有一个.htp文件。

我习惯于在服务器上“单独”部署symfony应用程序,并使域指向应用程序的Web目录,并且一切正常,但是在这种配置下,我无法使其正常工作。

我尝试在/web/website/blog/下使用以下.htaccess conf:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ web/$1 [QSA,L]
</IfModule>

我没有在/web/website/blog/web/下编辑默认值

我不确定自己在做什么错,因此我们将不胜感激!

2 个答案:

答案 0 :(得分:0)

对我来说,我使用.. nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld

    DocumentRoot /var/www/project/web
    <Directory /var/www/project/web>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>

    # uncomment the following lines if you install assets as symlinks
    # or run into problems when compiling LESS/Sass/CoffeeScript assets
    # <Directory /var/www/project>
    #     Options FollowSymlinks
    # </Directory>

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

对此进行了解释Here,然后重新启动Apache,但是我不知道我是否理解您的问题

答案 1 :(得分:0)

我无法获得想要的东西,但这是我实现的解决方案:

我在/ web / website目录中创建了一个.htaccess文件,该文件将所有请求重写为/ web / website / blog,但根目录(/)未被此重写:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI} !^/$
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^(.*)$ blog/web/$1 [QSA,L]

</IfModule>

那不是我想要重写的方式,但是我得到了我期望的结果;请注意,对于一个会随着新模块,路由,文件夹而发展的网站来说,这不是一个好的解决方案。