当正确键入网站URL时,如:https://example.amsterdam
它应立即将URL更改为:https://example.amsterdam/dist/index.php
我已经试着通过创建一个DirectoryIndex dist/index.php
来解决这个问题了。唯一的线索是它只加载了页面,而不是URL中的正确路径。所以当文件打开时,你点击一个按钮,HREF
不再工作,因为路径不正确。
所以我基本上想在URL中的正确路径中打开文件。
我目前的.htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
1条答案
按热度按时间798qvoo81#
这听起来确实像X-Y problem,因为“重定向”到
DirectoryIndex
文档通常是不可取的,而且听起来像是在补偿其他问题。例如,在链接中使用相对URL路径(以及指向静态资产),在应该隐藏的时候暴露/dist/
子目录,等等。不管怎样,回答你的问题...
我已经尝试通过创建
DirectoryIndex dist/index.php
来解决这个问题如果您特别希望重定向请求(而不是内部子请求),那么除了
DirectoryIndex
指令之外,还可以设置DirectoryIndexRedirect on
。换句话说:以上将触发302(临时)重定向。您可以使用http状态代码
301
进行永久重定向。有关其他选项,请参阅文档。请注意,
DirectoryIndex
指令适用于您请求的任何目录。因此,如果您要请求/dist/
,则上述指令将导致mod_dir查找/dist/dist/index.php
(因为您指定了相对路径)。您可以使用DirectoryIndex /dist/index.php
(根目录相对路径)始终为同一个文件提供服务,而不管是否请求了子目录。或者,* 仅 * 重定向文档根目录,然后使用mod_rewrite。例如:
同样,上面是一个302(临时)重定向。使用
R=301
进行永久重定向。尽管你不需要在(可见的)URL中出现
index.php
,但只需将根目录重定向到/dist/
,让标准的DirectoryIndex
来完成这项工作。例如:参考编号: