现在我有这样的链接:
example.com/profile/martin-slicker-i231
使用Zend Router,它指向控制器帐户和操作视图配置文件。我想为我的用户添加一些avatart,并在公共文件夹中创建目录(因此服务器可以访问图像,如css和js)。该目录名为“profile”,其中的子目录是“martin-slicker-i231”。服务器可以看到所有路径:
public/
.htaccess
index.php
profile/
martin-slicker-i231/
avatar-small.jpg
问题在于我将浏览器指向example.com/profile/martin-slicker-i231 我指的是这个目录而不是控制器和动作。当我用用户删除文件夹时,流程将转到控制器和操作。如何配置.htaccess以便 example.com/profile/martin-slicker-i231 指向控制器和操作,但请求 example.com/profile/martin-slicker-i231/ avatar-small.jpg 指向该文件。这是我的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
有人可以帮忙吗?
答案 0 :(得分:3)
只需删除说应该提供目录的部分:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
现在它将直接提供文件(大小> 0)和符号链接,但将目录引用和其他网址发送到您的应用程序
答案 1 :(得分:0)
根据Apache文档,以下内容将关闭目录列表
<Directory /path/to/directory>
Options -Indexes
</Directory>
您可能还想查看mod_autoindex
的文档