.htaccess重定向-如何和哪个目录?
我有一个类似这样的目录结构.htaccess重定向-如何和哪个目录?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个类似这样的目录结构 根 助理署长A 内容 管理员 我有一些文件在管理员,我需要。htaccess禁止。我知道他们应该在根之外,但在这种情况下我不能。htaccess将直接请求(例如Sub Dir a/Admin/abc.php)(例如禁用文件)重定向回Sub Dir a/Admin/index.php的正确语法是什么?这只是一个示例。注意“abc.php”可能是一个include,所以它应该只是一个直接请求。哦,忘了问一下,把.htaccess文件放在哪个目录下了如果你真的想
- 根
- 助理署长A
- 内容
- 管理员
我有一些文件在管理员,我需要。htaccess禁止。我知道他们应该在根之外,但在这种情况下我不能。htaccess将直接请求(例如Sub Dir a/Admin/abc.php)(例如禁用文件)重定向回Sub Dir a/Admin/index.php的正确语法是什么?这只是一个示例。注意“abc.php”可能是一个include,所以它应该只是一个直接请求。哦,忘了问一下,把.htaccess文件放在哪个目录下了如果你真的想用mod_rewrite做这个,那么规则可以是:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^abc\.php$ http://www.example.com/subdir_a/admin/index.php [R=301,L]
如果您试图直接访问abc.php
,将发出301永久重定向
这将放在/subdir\u a/admin/
文件夹中的.htaccess中
如果愿意,您可以将其放在网站根文件夹中的.htaccess文件中,然后稍微修改一下重写规则,以包含到abc.php
的路径:
RewriteRule ^subdir_a/admin/abc\.php$ http://www.example.com/subdir_a/admin/index.php [R=301,L]
或者,您可以发出403拒绝访问响应:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^abc\.php$ - [F,L]
通常的做法是不依赖.htaccess和mod_rewrite(在某些共享托管计划中可能不可用,或者由于性能原因而禁用),而是使用PHP脚本端检查: 一,。放在包含/保护的文件(例如abc.php)中: 二,。要放置在调用/主脚本中(您可以直接访问):
LazyOne-Brill非常感谢您的解释,但是---始终是关于文件is.sqlite而不是php,我仍然可以通过直接访问下载OK,在它(sqlite)中不多,只是为了测试,但我确实需要阻止访问。可能是传递admin dir的最佳方式?这取决于您——但我会永久阻止对*.sqlite的所有请求(不管密码保护如何)——并且只允许通过FTP访问它。为了在全球范围内阻止它(对于整个站点),您可以尝试这个规则:<代码> ReWrite Eule.SQLite -[r=404,L] < /代码>(可以放置在网站根目录.HTAccess)中,它将发布404个未找到响应,您可以认为它比403更安全/更友好(403种说法:“文件可能在这里,但您不能访问它”,而404告诉:“不知道你在说什么,这里不是这样的文件——谢谢你的访问”)。再次非常感谢这里的一些非常好的代码我总是在defined('ENTRY\u POINT\u MARK')上使用一个稍微不同的版本,但是你的版本更好,重写工作“处理”也给了db一个“奇怪”的结果“个人更喜欢301或404的扩展和阻止-还是BRILL!:)
RewriteRule^subdir/index\.php$/subdrir/content/index.php[L]
——如果将其放在htaccess中/subdir/
上方的文件夹中(例如网站根目录)。或者RewriteRule^index\.php$content/index.php[L]
如果放在/subdir/.htaccess
中(可能需要在content/
之前添加一个斜杠——重复检查,因为我通常将所有规则都放在一个文件中——更易于管理)。我没有博客或网站。把它作为单独的问题贴出来,我相信我或其他人会回答的。
if (!defined('ENTRY_POINT_MARK')) {
header('HTTP/1.1 403 Access Denied', true, 403);
exit();
}
define('ENTRY_POINT_MARK', 'EntryPointMark');