[英]hide and rename a folder using .htaccess file
假设我的网站上有一个链接,如下所示: www.example.com/test/index.php
。 我想对访问者隐藏“测试”文件夹,并使其显示为“苹果”,以便当用户键入www.example.com/apple
或www.example.com/apple/index.php
,它自动重定向到www.example.com/test/index.php
。 我想通过如下编辑.htaccess文件来使其成为可能:
RewriteEngine On
RewriteRule ^test/(.*) apple/$1
但是,它不起作用。 这里有什么问题吗? 如何重命名文件夹?
对于PHP文件:
RewriteRule ^/?api/([^/]+)?$ "request.php?rquest=$1" [L,QSA]
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]
因此,正则表达式使用(.+)
表示,采取并采取一切措施,不要停止。
因此,这是URL语法:
RewriteRule {regex_of_url_pattern} "{rewrite_into_what}" [OPTIONS ...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.