.htaccess 带文件夹分离的域重定向。htaccess

.htaccess 带文件夹分离的域重定向。htaccess,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,将客户端域重定向到服务器后,我在根文件夹.htaccess文件中创建了重写规则,以将域指向子文件夹1(joomla网站): 一切正常,但今天我发现,我可以通过输入myclientdomain.com/subfolder2来访问服务器中的任何其他子文件夹,更糟糕的是,谷歌可以对其进行索引并在搜索结果中显示 如果有任何方法重定向域,使我无法访问服务器上的任何其他文件夹 我非常感谢您的帮助,因为我在谷歌搜索答案,我的服务器技术支持人员说他们并不真正支持此类问题(他们只给了我上面的一段代码),而且我对.

将客户端域重定向到服务器后,我在根文件夹.htaccess文件中创建了重写规则,以将域指向子文件夹1(joomla网站):

一切正常,但今天我发现,我可以通过输入myclientdomain.com/subfolder2来访问服务器中的任何其他子文件夹,更糟糕的是,谷歌可以对其进行索引并在搜索结果中显示

如果有任何方法重定向域,使我无法访问服务器上的任何其他文件夹

我非常感谢您的帮助,因为我在谷歌搜索答案,我的服务器技术支持人员说他们并不真正支持此类问题(他们只给了我上面的一段代码),而且我对.htaccess规则及其工作原理一无所知。

试试这个

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?myclientdomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subfolder\/?(.*)?$
RewriteRule ^(.*)$ /subfolder1/$1 [L]
将上述规则更改为:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?myclientdomain\.com$ [NC]
# if current URI is not starting with /subfolder/ then route to /subfolder/
RewriteRule ^((?!subfolder1/).*)$ subfolder1/$1 [L,NC]

您好,感谢您的回复,我已经尝试了您的解决方案,但我仍然能够通过放置myclientdomain.com/subfolder来访问我服务器根文件夹中的其他子文件夹。我的答案中有一个拼写错误,现在已修复。确保这是根目录中的第一条规则。htaccess尝试过它,同样的问题。这是我在.htaccess中拥有的第一个也是事实上唯一的规则。您使用什么URL来测试此规则以及此.htaccess位于何处?好的,这正是我在我的服务器rootfolder/.htaccess RewriteEngine On RewriteCond%{HTTP_HOST}^(www\)?certyfikatpolski\.pl$[NC]RewriteRule^(?!certj3/).$certj3/$1[L,NC]我的域是certyfikatpolski.pl,它指向rootfolder/certj3,但如果您在地址栏中键入certyfikatpolski.pl/ielement,您将可以访问我的rootfolder/ielement,这是一个完全不同的站点
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?myclientdomain\.com$ [NC]
# if current URI is not starting with /subfolder/ then route to /subfolder/
RewriteRule ^((?!subfolder1/).*)$ subfolder1/$1 [L,NC]