.htaccess 使用htaccess文件限制页面重定向

.htaccess 使用htaccess文件限制页面重定向,.htaccess,redirect,url-rewriting,qsa,.htaccess,Redirect,Url Rewriting,Qsa,我想重定向我网站的一些页面 这些页面的格式如下: xxxx.html x=数字,最多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。 例如

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

这些页面的格式如下: xxxx.html x=数字,最多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页。

这可能就是您正在寻找的:

RewriteEngine on
RewriteRule ^/?([0-9]{1,4})\.html$ /index.php?id=$1  [R=302,QSA,L]
稍微修改一下的模式将在http服务器主机配置中工作,同样在动态配置文件.htaccess样式文件中工作

还有一个一般性提示:您应该始终希望将这些规则放在http服务器主机配置中,而不是使用动态配置文件.htaccess。这些文件是出了名的容易出错,难以调试,而且它们确实降低了服务器的速度。它们只是在您无法控制主机配置的情况下提供的最后一个选项:读:非常便宜的主机服务提供商,或者如果您的应用程序依赖于编写自己的重写规则,这显然是一个安全噩梦