从网址隐藏管理员文件夹

时间:2012-06-27 16:15:30

标签: .htaccess mod-rewrite admin administrator

当前网址

http://www.example.com/admin/data/img/gallery/myimages.jpg
http://www.example.com/admin/data/content/mycontents.html

所以

当前SCRIPTS / HTMLS / WEBPAGE文件包含并显示在浏览器源代码中

<img src="/admin/data/img/gallery/myimage.jpg">
<?php include("/admin/data/content/mycontents.html"); ?>

这是名为“admin”

的文件夹中的“CMS系统”

我想要做的是将每个脚本/ php / html输出中的admin文件夹隐藏到浏览器。 所以没有人可以看到或搜索引擎无法捕获这个区域(安全问题) 因此,当浏览器输出内容或脚本时,它会将上述URL重写为此

删除管理员

 http://www.example.com/data/img/gallery/myimages.jpg
    http://www.example.com/data/content/mycontents.html

浏览器内部源代码

<img src="/data/img/gallery/myimage.jpg">

删除数据

http://www.example.com/img/gallery/myimages.jpg
http://www.example.com/content/mycontents.html

请帮助它也必须适用于www.example.com以及example.com

通过htaccess和mod_rewrite解决方案 我无法访问httpd.conf 另外我不想移动文件夹,文件夹中有很多脚本,所以必须写很多。 还告诉我应该将它放在根目录或管理文件夹中

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试将其添加到文档根目录中的.htaccess文件中(“admin”文件夹所在的位置):

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/admin/data/%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/admin/data/%{REQUEST_URI} -d
RewriteRule ^(.*)$ /admin/data/$1 [L]

条件检查请求URI是否以“/ admin / data /”为前缀,如果它指向现有文件或目录。如果是,则重写URI,以便在请求前面有“/ admin / data /”。如果您不希望能够将目录映射到/ admin / data,则删除第二个条件(具有-d的条件)并从第一个条件中删除[OR]标志。