从 URL 中删除目录名称?

问题描述 投票:0回答:1

很抱歉,我已经阅读类似的问题一个小时了,但我似乎无法让它发挥作用。

我有一个网站:www.domain.com/folder
我希望它在浏览网站时仅显示为 www.domain.com

因此,本质上,删除文件夹名称,同时仍将我的内部文件保留在该文件夹中。
我很确定这是可能的,但正则表达式让我头疼:(.

有人可以帮我吗?

apache .htaccess mod-rewrite
1个回答
0
投票

正如 @Nic3500 在评论中已经指出的那样,对于您所要求的最简单的方法是重新配置 http 服务器内的虚拟主机,以将该文件夹的内容传递为

DocumentRoot
。绝对路径可能类似于
/var/www/folder
或类似的东西。

可能有两个原因导致这不适合您:

  1. 您可能在该域下提供不同的服务,并通过不同的主文件夹分隔。
  2. 您可能无法控制实际的主机配置,例如,如果您自己不操作该http服务器,而是使用廉价的托管提供商。

在这种情况下,你确实需要使用重写规则。您需要找到自己的方式来区分不同的服务,我们只能针对您在问题中实际提出的问题提供建议:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !^/folder
RewriteRule ^ /folder%{REQUEST_URI} [L]

您可以尝试一下这里...

您可以在虚拟http主机的集中配置中实施这样的规则。或者,如果您无法控制它,您可以使用 distributed 配置文件(通常称为“.htaccess”),但您需要首先通过

AllowOverride
指令启用对此类规则的解释。

© www.soinside.com 2019 - 2024. All rights reserved.