1 回答
TA贡献1946条经验 获得超3个赞
确保启用 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>
这意味着他们无法访问上面列出的文件扩展名。您可以将最后几个替换为 justrc|php但我允许访问 .php 文件而不是 .lib 以便我可以执行受浏览器身份验证保护的脚本以进行调试和银弹数据库修复。
你还必须在你的 apache 配置中有这样的东西,允许在你的站点目录中读取 .htaccess。
<Directory "C:/Sites">
AllowOverride All
</Directory>
- 1 回答
- 0 关注
- 67 浏览
添加回答
举报