【问题标题】:Apache redirect keeping URLApache重定向保留URL
【发布时间】:2018-11-18 21:21:07
【问题描述】:

我正在制作一个在 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”。

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

感谢您的宝贵时间:)

注意:我这样做是因为我在导航时使用History.js 将 URL/标题解析为地址栏和选项卡标题(单页动态站点)。我希望能够使用用户的初始 URL 请求加载根 index.html,并以类似于 REST 服务器的方式响应用户的操作。

【问题讨论】:

    标签: regex apache mod-rewrite


    【解决方案1】:

    实际上,您想重写而不重定向。这需要在 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]
    

    参考:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 2012-11-17
      相关资源
      最近更新 更多