将数字重写为默认页面

时间:2016-02-15 14:53:12

标签: mod-rewrite rewrite

我正在尝试重写可以使用number.html的任何页面的条件,让我们说如下:

12345.html
33443.html
234545656.html
9797423.html

并将其重定向到index.php

RewriteRule ^([0-9]+)$ index.php [L]

我尝试了以下但不起作用,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您的代码存在两个直接问题:

  1. 您必须在使用它之前打开重写引擎
  2. 如果要匹配以.html结尾的文件名,则必须对其进行编码。
  3. 试试这个:

    RewriteEngine on
    RewriteRule ^([0-9]+)\.html$ index.php [L]
    

    然后再提几点:

    • 您尝试的代码仅适用于.htaccess样式文件。但必须首先在http服务器配置中启用此类文件的使用。
    • .htaccess样式文件必须放在正确的位置,在此示例 实际持有index.php文件的文件夹中。
    • 必须安装并启用重写模块,否则这些命令将不可用。

    一般性评论:

    那些.htaccess样式文件非常容易出错,难以调试,而且真的会降低http服务器的速度,通常一无所获。您应始终更喜欢将此类命令放在http服务器的真实主机配置中。 .htaccess样式文件仅作为最后一个选项提供,用于您无法访问该配置的情况,例如使用非常便宜的共享托管服务提供商时。