我有一个网站可以说 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/
下编辑默认值
我不确定自己在做什么错,因此我们将不胜感激!
答案 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>
那不是我想要重写的方式,但是我得到了我期望的结果;请注意,对于一个会随着新模块,路由,文件夹而发展的网站来说,这不是一个好的解决方案。