Php 写入.htaccess以保护Web应用程序中的Symfony目录时出错

Php 写入.htaccess以保护Web应用程序中的Symfony目录时出错,php,apache,.htaccess,symfony,mod-rewrite,Php,Apache,.htaccess,Symfony,Mod Rewrite,我正试图发布我在生产中的第一个Symfony项目,但我非常担心安全性,我采取了以下措施: 1) 第一:删除/var上的以下目录:缓存、日志和会话 2) 第二:更改cookie会话的默认名称(客户端:symfony) 3) Trhee:在应用程序的根目录中创建.htaccess 我的问题是关于.htaccess的。目标是拒绝访问应用程序的其他目录,如:/app、/src、/test、/var、/vendor 我将在.htaccess中编写以下规则,并将其放入我的应用程序的根目录:myDevelop

我正试图发布我在生产中的第一个Symfony项目,但我非常担心安全性,我采取了以下措施:

1) 第一:删除/var上的以下目录:缓存、日志和会话

2) 第二:更改cookie会话的默认名称(客户端:symfony)

3) Trhee:在应用程序的根目录中创建.htaccess

我的问题是关于.htaccess的。目标是拒绝访问应用程序的其他目录,如:/app、/src、/test、/var、/vendor

我将在.htaccess中编写以下规则,并将其放入我的应用程序的根目录:myDevelopedApp/.htaccess

.htaccess
#检查模块是否可用
#使用重写引擎
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
#重写规则以重定向请求
重写规则^(.*)$web/$1[QSA,L]
问题是它不工作,我写规则时无法访问web文件夹。当我试图通过浏览器访问应用程序MydeveloperDapp时,Apache将其隐藏

我怎么了?
非常感谢您提出的任何其他关于提高生产环境安全性的建议。

如果您真的关心安全性,您应该遵循。这意味着vhost中只能访问
/web
文件夹

此外,如果您使用标准版本初始化项目,您应该已经在
app/
src/
文件夹中拥有
.htaccess
文件。

这个代码也在你的.htaccess文件中


.htaccess
#检查模块是否可用
#使用重写引擎
重新启动发动机
如果是localhost localhost/project,则重写base/folder/*位置地址*/
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
#重写规则以重定向请求
重写规则^(.*)$web/$1[QSA,L]

RewriteBase解决这个问题

这很有用,将web目录放在公共目录上很重要。非常感谢。htaccess工作正常,问题是关于apache的。 .htaccess #Checking if module is avalaible #Using the rewrite engine RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f #Rewrite rule to redirect the request RewriteRule ^(.*)$ web/$1 [QSA,L]
<pre>
.htaccess
#Checking if module is avalaible
<IfModule mod_rewrite.c>
   #Using the rewrite engine
   RewriteEngine On
   RewriteBase /folder/ /*location address if localhost localhost/project */
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   #Rewrite rule to redirect the request
   RewriteRule ^(.*)$ web/$1 [QSA,L]
<IfModule>
</pre>