gpt4 book ai didi

regex - 从文件夹创建子域,但拒绝文件夹访问

转载 作者:行者123 更新时间:2023-12-03 14:12:14 24 4
gpt4 key购买 nike

好的,我花了将近 4 个小时在网站上搜索解决方案,另外 2 个小时在 google 上搜索,当大多数网站复制粘贴数据时,这不是很有用。所以在这里我决定寻求一点帮助。

我成功创建了一个子域,比如说 http://admin.myhost.com , 主要是从文件夹 admin 中获取数据.问题是当我把 http://myhost.com/admin脚本仍然可以访问。假设我想让这个文件夹无法访问,将重定向到自定义文件,例如 index.php?template=error404当通过 url http://myhost.com/admin 执行某个文件时.我已将此行添加到 .htaccess

RewriteRule ^admin(.*) /index.php?template=error404 [L]

结果就这样了。
Options +FollowSymlinks

Options -Indexes

<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>

RewriteEngine On

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?map=google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?map=google_base [L]
RewriteRule ^download(.*) /index.php?template=error404 [L]
RewriteRule ^admin(.*) /index.php?template=error404 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?seo_url=$1 [L,QSA]

它实际上只有在我删除空的 .htaccess 时才有效在 admin 文件夹上(它只说 RewriteEngine on),但是当我这样做时,站点 http://admin.myhost.com引发 http 错误 500,并且无法再访问。如果我再次添加 .htaccess在说明 RewriteEngine on 规则的 admin 文件夹上,子域再次开始工作,但同样,该文件夹可通过添加 /admin 的 URL 访问。

几个小时后,我似乎无法找到解决此问题的方法。有没有办法做到这一点?难道我做错了什么?

最佳答案

/admin/.htaccess有这个规则:

RewriteEngine On

# block access if HOSTNAME is not starting with admin.
RewriteCond %{HTTP_HOST} !^admin\. [NC]
RewriteRule ^ - [F]

或者如果你想显示/index.php?template=error404 然后
RewriteCond %{HTTP_HOST} !^admin\. [NC]
RewriteRule ^ /index.php?template=error404 [L,QSA]

关于regex - 从文件夹创建子域,但拒绝文件夹访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com