【问题标题】:Limit the redirection of pages using htaccess file使用 htaccess 文件限制页面重定向
【发布时间】:2017-08-07 10:25:13
【问题描述】:

我想重定向我网站的一些页面。

这些页面具有以下形式: xxxx.html(x=digit,最多 4 位),例如 1.html、24.html、6875.html 等 我想将这些页面重定向到以下格式: index.php?id=xxxx.

我已经应用的解决方案是 htaccess 文件中的以下行:

RewriteRule ([0-9]+)\.html$ /index.php?id=$1  [R=302,QSA,L]

重定向工作完美,但问题是我想将此规则限制为最多 4 位数的页面,例如 6789.html、234.html。 例如我不希望将规则应用于页面 55555.html。

【问题讨论】:

    标签: .htaccess redirect url-rewriting qsa


    【解决方案1】:

    这可能就是你要找的:

    RewriteEngine on
    RewriteRule ^/?([0-9]{1,4})\.html$ /index.php?id=$1  [R=302,QSA,L]
    

    这种稍加修改的模式可以在 http 服务器主机配置中使用,同样也可以在动态配置文件(.htaccess 样式文件)中使用。


    还有一个一般提示:您应该始终喜欢将此类规则放在 http 服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。众所周知,这些文件容易出错,难以调试,而且它们确实会降低服务器的速度。它们仅在您无法控制主机配置的情况下(阅读:非常便宜的托管服务提供商)或如果您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)提供它们作为最后一个选项)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2022-01-22
      相关资源
      最近更新 更多