我正在尝试在我的本地服务器上设置一些内容,如果我转到mydomain/docs
,它会在内部重定向到mydomain/slate/build
,但让用户仍在其浏览器中看到mydomain/docs
& #39; s url。我有一半工作 - 当我转到mydomain/docs
时,它会在/slate/build
中加载正确的index.html但问题是我的网址栏:wq显示mydomain/slate/build
当所需的网址是mydomain/docs
。
这是我执行重定向的整个.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
最后我的VirtualHost启用了网站:
<VirtualHost mydomain>
DirectoryIndex index.html
ServerAdmin postmaster@dummy-host.localhost
DocumentRoot /correct/file/structure
ServerName mydomain
ServerAlias mydomain
</VirtualHost>
答案 0 :(得分:1)
是的 - 它是一个带有index.html的目录,这是我试图提取的文件。
由于它是一个目录,你需要用斜杠结束URI,否则mod_dir将启动将浏览器重定向到相同的URI但带有斜杠。尝试将规则更改为:
RewriteEngine on
RewriteRule ^/?docs$ /slate/build/ [L]