我.htaccess
在文件夹中有一个文件public_html
,因此我的目录如下所示:
public_html
= cgi-bin/
= images/
= other/
- index.html
- .htaccess
文件.htaccess
重新路由www.example.com
到example.com
。我从网上复制了以下代码,到目前为止它可以正常工作:
# Remove www from any URLs that have them:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
现在,如果有人访问www.example.com/other
或example.com/other
出现禁止example.com/other/
页面错误。我想将任何这些请求重新路由到:
example.com/other/sub/index.html
我如何扩展现有.htaccess
文件(或在子文件夹中创建新文件)来实现这一点?(注意无需屏蔽浏览器栏中的任何地址)
感谢任何解决方案和简要解释...
您为该特定路径添加特定的重定向规则
/other
:该规则将应用于对路径
/other
或的所有请求/other/
,并重定向这些请求。这是我从问题中理解到的。它不会干扰对该路径下任何内容的任何请求,因此例如/other/foo
,您没有提到任何这样的事情。我还擅自简化了您现有的规则,从主机名中删除了“www.”前缀。
这两个规则都可以在
DocumentRoot
站点文件夹内的单个分布式配置文件中实现。通常,您应该倾向于在中央虚拟主机配置中实现规则,这样不太复杂,效率更高,但您需要访问 http 服务器的中央配置。因此,您需要控制该服务器。如果您使用的是简单的 Web 空间提供商,则无法做到这一点。但是,此处实现上述规则的方式可以在两种设置中使用,无需任何修改。