使用 mod_rewrite:
RewriteRule ^/?.+$ / [L,R]
使用 mod_alias:
RedirectMatch ^/.+ /
当然,这会使RewriteRule admin/$ index.php?view=admin [QSA]
规则变得无用,或者至少会引起一些冲突。因此,您应该评论该排除,或者创建一个特殊的例外,其中除了admin/
重定向之外的所有流量。
编辑:
除了 admin/ 之外,我将如何制定规则?
这是一种方法,我只是猜测这是您想要的行为。这些东西没有改变,它的方式很好:
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymLinks -Indexes
添加一个:
RewriteEngine On
然后:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(index\.php|admin)
RewriteRule ^/?.+$ / [L,R]
RewriteRule admin/$ index.php?view=admin [QSA,L]
因此,将所有这些放在一起,您就可以拒绝访问.htaccess文件。然后你有你的Options
,然后你的重写规则。您需要打开 RewriteEngine,然后重定向任何不是/index.php
或的请求/admin
,然后在内部重写 /admin
为/index.php
.