我想使用htaccess文件屏蔽文件夹的路径。
因此在服务器上,我有一个名为mydata
的真实文件夹,其中包含许多php文件和子文件夹。
从php或html文件中的该文件夹中检索数据时,我想将路径写为somedata
,而不是mydata
;例如:
/somedata/mydatafile.php
,而不是/mydata/mydatafile.php
。
因此,出于安全原因,mydata
文件夹名称将始终对用户隐藏。 somedata
只是一个名称,服务器上没有实际的文件夹。
我在主域旁边有几个附加域,并且每个附加域上也存在相同的mydata
文件夹。
cPanel中的结构为:
/public_html/mysite.com/mydata
/mysite2.com/mydata
/mysite3.com/mydata
其中mysite.com
是主要域名,其他是插件。
htaccess文件应在任何域和插件域中的任何路径中将somedata
文件夹名称映射到mydata
文件夹名称,
因此我会将其放置在根目录中(是否考虑了public_html
,mysite2.com
和mysite3.com
网站所在的根目录?)
我更喜欢在不重定向的情况下执行此操作,这是服务器最简单的方法。
在RewriteEngine启用的情况下,我尝试了以下操作:
1。
Alias /somedata /mydata
2。
RewriteRule ^mydata/(.*)$ /somedata/$1 [NC,L]
3。
RewriteCond %{REQUEST_URI} ^/somedata
RewriteRule .* /mydata/ [NC,L]
我因语法而陷入困境,我们至少可以做一件工作...吗?
答案 0 :(得分:0)
您的第二次尝试已经结束,但是您的参数倒退了:
RewriteRule ^somedata/(.*)$ /mydata/$1 [NC,L]