使用.htaccess文件隐藏和重命名文件夹

时间:2018-09-19 14:29:47

标签: php .htaccess directory rename

假设我的网站上有一个链接,如下所示:www.example.com/test/index.php。 我想对访问者隐藏“测试”文件夹,并将其显示为“苹果”,以便当用户键入www.example.com/applewww.example.com/apple/index.php时,它会自动重定向到www.example.com/test/index.php。我想通过如下编辑.htaccess文件来实现这一点:

RewriteEngine On
RewriteRule ^test/(.*) apple/$1

但是,它不起作用。这里有什么问题吗?我将如何重命名文件夹?

1 个答案:

答案 0 :(得分:0)

对于PHP文件:

示例1

RewriteRule ^/?api/([^/]+)?$ "request.php?rquest=$1" [L,QSA]

示例2

RewriteRule ^/?api/([^/]+)/([^/]+)?$ "request.php?rquest=$2&ns=$1" [L,QSA]

request.php是文件。后面将称为example.com/api/{ns}/{rquest},而前面将称为example.com/api/{rquest}

如果您要根据需要使用文件夹,则可以使用以下内容。请测试一下,因为我还没有使用过。

RewriteEngine on
RewriteBase /
RewriteRule ^/?apple/([^/]+)?$ "test/index.php?categories=$1" [L,QSA]

这只是一个重写规则。您定义一个模式,然后将其与要重写的模式进行匹配。就那么简单。

是否要忽略后面的斜杠?就像

example.com/help/legal/privacy/eula应该重写为example.com/help.php?path=/legal/privacy/eula,然后您必须忽略URL模式中紧跟/的路径中的help

您可以像下面这样简单地更改正则表达式:

RewriteRule ^/?help/(.+)?$ "help.php?topic=$1" [L,QSA]

因此regex使用(.+)的意思是,采取并采取一切措施,不要停止。

这是URL语法:

RewriteRule {regex_of_url_pattern} "{rewrite_into_what}" [OPTIONS ...]


有关更多信息和示例,请参阅