我正在制作一个在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服务器那样响应用户的操作。
答案 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]
参考: