Php .htaccess中断上载的文件路径
我有一个Symfony 2项目,我不得不使用.htaccess配置来隐藏前端文件和web目录,但在这个过程中,这意味着我无法访问我创建的公共上传文件夹。有没有办法为该路由创建符号链接或异常 这是我当前的.htaccessPhp .htaccess中断上载的文件路径,php,apache,.htaccess,symfony,config,Php,Apache,.htaccess,Symfony,Config,我有一个Symfony 2项目,我不得不使用.htaccess配置来隐藏前端文件和web目录,但在这个过程中,这意味着我无法访问我创建的公共上传文件夹。有没有办法为该路由创建符号链接或异常 这是我当前的.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On # Explicitly disable rewriting for front controller
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^/web/app_dev.php - [L]
RewriteRule ^/web/app.php - [L]
# Fix the bundles folder
RewriteRule ^bundles/(.*)$ /web/bundles/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
# Change below before deploying to production
RewriteRule ^(.*)$ /web/app.php [QSA,L]
#RewriteRule ^(.*)$ /web/app_dev.php [QSA,L]
</IfModule>
选项+FollowSymlinks
重新启动发动机
#显式禁用前控制器的重写
重写规则^/web/app_dev.php-[L]
重写规则^/web/app.php-[L]
#修复bundles文件夹
重写规则^bundles/(.*)$/web/bundles/$1[QSA,L]
重写cond%{REQUEST_FILENAME}-F
#在部署到生产环境之前进行以下更改
重写规则^(.*)$/web/app.php[QSA,L]
#重写规则^(.*)$/web/app_dev.php[QSA,L]
提前谢谢 您可以添加一个例外,使其不会像禁用前端控制器重写一样重写某个文件夹。只需添加
RewriteRule^path to folder/*-[L]
,即可访问文件夹路径中的文件。您可以创建一个异常,就像您之前所做的那样:
#disable redirecting for all the files in /web/upload dir
RewriteRule ^web/upload/.* - [L]
将其放在.htaccess的开头,它将在重定向发生之前停止处理。有一件事,我不明白,为什么在开头有一个额外的斜杠:
^/web
。因为在.htaccess条件中应该省略第一个斜杠。为什么不将DocumentRoot指向web目录?