调整htaccess文件以将文件夹名称映射到实际文件夹

时间:2018-08-05 15:06:16

标签: .htaccess redirect mod-rewrite

我想使用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_htmlmysite2.commysite3.com网站所在的根目录?) 我更喜欢在不重定向的情况下执行此操作,这是服务器最简单的方法。

在RewriteEngine启用的情况下,我尝试了以下操作:

1。

Alias /somedata /mydata

2。

RewriteRule ^mydata/(.*)$ /somedata/$1 [NC,L]

3。

RewriteCond %{REQUEST_URI} ^/somedata
RewriteRule .* /mydata/ [NC,L]

我因语法而陷入困境,我们至少可以做一件工作...吗?

1 个答案:

答案 0 :(得分:0)

您的第二次尝试已经结束,但是您的参数倒退了:

RewriteRule ^somedata/(.*)$ /mydata/$1 [NC,L]