使用.htaccess重定向保留原始网址,但显示重定向内容

时间:2019-07-08 12:53:40

标签: .htaccess redirect

我希望访问URL /this-url.html的人能够看到/ that-url的站点,但将URL保留为/this-url.html

我已经尝试过各种stackoverflow解决方案,但是没有一个对我有用。我尝试使用[P]标志,[QSA]标志和根本没有标志。

我的基本代码:

RewriteEngine开启 RewriteRule ^ / this-url.html $ / that-url

重定向始终有效,但也会更改URL。我需要将该网址保持为/this-url.html

1 个答案:

答案 0 :(得分:1)

当您想学习如何使用某些工具或实用程序时,您忘记了参考最重要的信息源:文档。也就是说,对于OpenSource项目而言,典型的质量是优秀,并附带了很多示例。您真的应该开始研究它:https://httpd.apache.org/docs/current/mod/mod_rewrite.html

这里是经过稍微修改的版本,应该可以执行您想要的操作:

RewriteEngine on 
RewriteRule ^/?that-url$ /this-url.html [END]

主要区别:在动态配置文件RewriteRules中,它们在相对路径上运行,您试图与绝对路径匹配,该路径仅适用于规则在实际的http服务器的主机配置中实现。我发布的版本也是如此,因此更加健壮。

如果使用上述规则收到内部服务器错误(http状态500),则很可能是您运行的Apache HTTP服务器版本非常旧。在那种情况下,请尝试使用旧的L标志,尽管实际上取决于您所处的特定情况,它在这里可能会起作用。