Apache重定向保留URL

时间:2018-06-08 19:06:08

标签: regex apache mod-rewrite

我正在制作一个在Apache 2服务器上运行的JavaScript Web应用程序。我想知道是否有可能(使用mod_rewrite或其他一些mod)使你键入的任何路径从根路径加载index.html,但保留URL?

例如:“example.com/blah/blegh”将加载“example.com/index.html”,但地址栏仍会显示“example.com/blah/blegh”。如果您尝试键入“example.com/everything/is/index”,仍会加载“example.com/index.html”并在地址栏中显示“example.com/everything/is/index”。

关于我需要使用的任何mod以及哪些命令可能最好的简单答案就足够了。虽然代码示例非常有用,因为我是regex和Apache重写的新手。

感谢您的时间:)

注意:我这样做是因为我在导航时使用History.js将URL /标题解析为地址栏和标题标题(一页的动态网站)。我希望能够使用用户的初始URL请求加载root index.html,并像REST服务器那样响应用户的操作。

1 个答案:

答案 0 :(得分:2)

实际上,您想要在不重定向的情况下重写。这需要在Apache的httpd.conf中启用mod_proxy和mod_rewrite。

然后,重写应如下所示:

Options +FollowSymLinks -MultiViews 
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html [NC,L,QSA]

参考: