1 回答
TA贡献1856条经验 获得超11个赞
确保 apache mod_rewrite 已启用。然后重定向:
<IfModule mod_rewrite.c>
# Make sure url's can be rewritten.
RewriteEngine on
# Redirect requests that are not files or directories to index.php.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
</IfModule>
大多数 CMS 都是这样做的。这确实意味着如果他们将直接路径写入文件,他们将看到该文件。因此,您需要在此之前添加以下内容:
# Prevent direct access to these file types.
<FilesMatch "\.(sql|md|sh|scss|rb|conf|rc|tpl(\.php)?|lib(\.php)?|wig(\.php)?|pg(\.php)?|reg(\.php)?|db(\.php)?)$">
Require all denied
</FilesMatch>
这意味着他们无法访问上面列出的文件扩展名。您可以用 just 替换最后几个,rc|php但我允许访问 .php 文件而不是 .lib,这样我就可以执行受浏览器身份验证保护的脚本来进行调试和银弹数据库修复。
您的 apache 配置中还必须有类似的内容,以允许在您的站点目录中读取 .htaccess。
<Directory "C:/Sites">
AllowOverride All
</Directory>
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报