【问题标题】:Alternative to <!--#include virtual="somefilename"--><!--#include virtual="somefilename"--> 的替代品
【发布时间】:2016-12-09 05:03:33
【问题描述】:

我有一个网站运行启用了 SSI 的旧 apache 服务器。出于安全原因,我的主机想要移动到禁用 SSI 的新服务器。

我有很多页面都带有 Google 友好的网址,只有一行

<!--#include virtual="Url_Including_Search_String"-->

什么是 SSI 的最佳替代方案,以保持我的 google 友好搜索字符串返回指定的搜索结果?

我可以通过.htaccess 文件中的重写规则获得大部分结果,但是一些搜索字符串在关键字中有空格,但 url 没有。我不能用重写规则来做到这一点

即 www.somedomain.com.au/SYDNEY.htm 会有

<!--#include virtual="/search.php?keyword=SYDNEY&Submit=SEARCH"-->

但是,问题是 www.somedomain.com.au/POTTSPOINT.htm 会有

<!--#include virtual="/search.php?keyword=POTTS+POINT&Submit=SEARCH"-->

重写规则无法检测郊区名称中的空格位置,因此希望有&lt;!--#include virtual= 的替代方法

我查看了RewriteMap,但我认为我无法访问我需要将其放入的文件。

【问题讨论】:

    标签: ssi


    【解决方案1】:

    我会使用 Mod Rewrite 将任何对不存在文件的调用重定向到您的搜索页面。

    例如:
    http://example.com/SYDNEY 重定向到

    http://example.com/search.php?q=SYDNEY 
    

    (假设您的服务器根目录实际上没有 /SYDNEY/ 文件。)

    然后摆脱所有这些单独的重定向页面。

    至于空格,我会修改我的实际搜索页面以识别(例如)“POTTSPOINT”并确定应该插入空格。基本上将搜索词与替换数据库进行比较。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 2012-01-25
      • 2015-08-05
      相关资源
      最近更新 更多