我使用Front Controller
模式创建了一个应用程序,所以基本上所有内容都发送到index.php
这是我目前在.htaccess
文件
RewriteRule ^([a-zA-Z0-9]+)(\/([a-zA-Z0-9]+))?(\/([a-zA-Z0-9\/]+))?(\/)?$
index.php?class=$1&method=$3&args=$5
(我不得不把这条线分成两条,用于演示,但你知道我的意思)
所以它工作正常但是如果我创建一个名为/js
的目录,例如必须可以直接访问。这意味着,我不能在其中放入.htaccess
文件并放置:
Deny from all
然后使用网址http://mysite.com/js
访问我的网站,重定向到http://mysite.com/js/?class=js&method=foo&args=
将Options -Indexes
放在主.htaccess
文件中并没有多大帮助。有什么想法吗?
欢迎任何澄清,我并不擅长解释事情。
由于
答案 0 :(得分:1)
使用
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
从重定向规则中排除实际文件和目录(重定向规则不适用于真实文件和目录)。