Apache 尝试使用.htaccess执行隐藏重定向-重定向可见

Apache 尝试使用.htaccess执行隐藏重定向-重定向可见,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我试图在我的本地服务器上设置一些东西,如果我转到mydomain/docs,它会在内部重定向到mydomain/slate/build,但用户仍然可以在浏览器的url中看到mydomain/docs。我让它工作了一半——当我转到mydomain/docs时,它会在/slate/build中加载正确的index.html,但问题是当所需的url为mydomain/slate/build时,我的url栏:wq会显示mydomain/slate/build 以下是执行重定向的整个.htaccess文件

我试图在我的本地服务器上设置一些东西,如果我转到
mydomain/docs
,它会在内部重定向到
mydomain/slate/build
,但用户仍然可以在浏览器的url中看到
mydomain/docs
。我让它工作了一半——当我转到
mydomain/docs
时,它会在
/slate/build
中加载正确的index.html,但问题是当所需的url为
mydomain/slate/build
时,我的url栏:wq会显示
mydomain/slate/build

以下是执行重定向的整个.htaccess文件:

RewriteEngine on
RewriteRule ^/?docs$ /slate/build [L]
以下是我认为可能与我的apache2.conf相关的内容:

HostnameLookups Off

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Include ports.conf

<Directory />
  Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
  Require all granted
  Allow from all
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

IncludeOptional conf-enabled/*.conf

IncludeOptional sites-enabled/*.conf
主机名查找关闭
包括可选mods启用/*.加载
IncludeOptional mods enabled/*.conf
Include ports.conf
选项索引如下SYMLINKS包括ExecCGI
允许超越所有
要求所有授权
通融
不允许超限
要求所有授权
选项索引跟随符号链接
不允许超限
要求所有授权
AccessFileName.htaccess
要求全部拒绝
IncludeOptional conf enabled/*.conf
IncludeOptional sites enabled/*.conf
最后,我的虚拟主机在站点中启用:

<VirtualHost mydomain>
         DirectoryIndex index.html
         ServerAdmin postmaster@dummy-host.localhost
         DocumentRoot /correct/file/structure
         ServerName mydomain
         ServerAlias mydomain
 </VirtualHost>

DirectoryIndex.html
服务器管理员postmaster@dummy-host.localhost
DocumentRoot/correct/file/structure
服务器名mydomain
服务器别名mydomain

是的,它是一个目录,里面有一个index.html,这就是我试图提取的文件

由于它是一个目录,您需要以斜杠结束URI,否则mod_dir将启动一个重定向,将浏览器重定向到相同的URI,但带有一个尾随斜杠。尝试将规则更改为:

RewriteEngine on
RewriteRule ^/?docs$ /slate/build/ [L]

build
是一个目录吗?是的,它是一个包含index.html的目录,这是我正在尝试提取的文件。这非常有效!这是我意想不到的奇怪行为。非常感谢。