2017-04-06 167 views
1

我需要打开访问以下文件夹给大家:的Symfony允许文件资源的访问文件夹的.htaccess

C:\xampp\htdocs\myapp\app\Resources\export 

,但我得到403 Forbidden错误。我尝试了很多变种,但仍然没有运气。我的.htaccess它位于

C:\xampp\htdocs 

如下:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 

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

# Fix the bundles folder 
RewriteRule ^bundles/(.*)$ /myapp/web/bundles/$1 [QSA,L] 
RewriteRule ^js/(.*)$ /myapp/web/js/$1 [QSA,L] 
RewriteRule ^css/(.*)$ /myapp/web/css/$1 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /myapp/web/app.php [QSA,L] 
RewriteRule (.*) $1 [E=SYMFONY_ENV:prod] 

任何想法将受到欢迎。谢谢。

回答

1

问题是您的服务器的DocumentRoot指向/web目录,而/app目录超出了范围。也许你可以使用别名解决这个问题:

Alias /export "C:/xampp/htdocs/myapp/app/Resources/export" 
<Directory "C:/xampp/htdocs/myapp/app/Resources/export"> 
    Options Indexes 
    AllowOverride None 
    Require all granted 
</Directory> 

当使用alias你必须前缀与别名资源的途径。

例如用于获取resoource test.jpg放在位于:

C:/xampp/htdocs/myapp/app/Resources/export/test.jpg 

你的要求应该是这样的:

http://yourServerName/export/test.jpg 

此类路由的问题是,Symfony的路由不能管理它,因为有服务器范围外,但你可以使用主机匹配,看到这个问题:

Routing prefix as follows the Virtual Host

如果您使用别名记住启用别名模块,如果它被禁用。

希望它有帮助。

+0

不幸的是,这不起作用。说500错误。 – Jack

+0

我用另一种方法更新了我的答案。 – Hokusai

相关问题