将子文件夹重定向到Apache、NGINX、IIS 和Cloudflare中的根文件夹
我的网站位于子文件夹中,并决定将其移至域根目录。
主要挑战是将所有文章保留在子文件夹中的同一路径上,同时将 URL 重定向到域根或其他位置。
阿帕奇
Apache HTTP 服务器支持RewriteCond. 要进行此更改,请修改您的.htaccess或httpd.conf并添加以下行:
RewriteEngine sur
RewriteBase /
RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]
我们使用此处/作为基础,并RewriteRule使用正则表达式对子文件夹中的所有 URL 进行处理。R=301指定永久重定向。
nginx
我们可以使用或改写中的选项通过 Nginx Web 服务器实现类似的重定向:/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf
location ^~ /sous-dossier {
rewrite ^/sous-dossier(.*)$ $1 last ;
}
如果您将来要添加任何正则表达式,此处^~可确保此前缀的位置继续优先 。
IIS
在 IIS 中,我们可以使用重写模块来重写子文件夹中的 URL,并且我们希望它们看起来就像位于根目录中一样。您可以web.config在 webroot ( %SystemDrive%\inetpub\wwwroot) 文件夹中编辑以下内容:
您还可以使用 IIS 管理器中的 URL 重写 UI 添加接收规则。
Cloudflare
我们可以按照以下步骤使用 Cloudflare 实现类似的重定向:
登录您的 Cloudflare 帐户。
单击您要添加 URL 重定向的域的相应 Cloudflare 帐户。
单击“标尺”应用程序,然后单击“页面标尺”选项卡。
在页面规则下,单击创建页面规则。为您的域打开“创建页面规则”对话框。
现在,在“如果 URL 匹配”下,输入应与规则匹配的子文件夹的 URL 模式,例如 https://hao-blog.com/seo-baimao-heimao 。
接下来,单击添加参数并从下拉菜单中选择转发 URL。
单击选择状态代码并选择 301(永久重定向)或 302(临时重定向)。
输入根域的目标 URL,然后单击“保存并部署”以完成。
上面的示例旨在将网站 https://hao-blog.com/seo-baimao-heimao 上的所有内容重定向到网站 https://hao-blog.com/ 。
正如您所看到的,将子文件夹重定向或映射到根目录或另一个 URL 是一项常见任务,并且大多数流行的浏览器都支持不同的选项。
接下来,了解如何在单个 IP 上托管多个网站。