在.htaccess中的数字库转换

我打算做一个forms的URLredirect:

从:

domain.com/A 

 domain.com/someResourse/id/10 

在这个redirect的id的基础从16更改为10

我想知道这是否可能使用.htaccess

你可以使用RewriteMap和外部程序映射(prg :)。 这是一个相当有利的使用mod重写,甚至是RewriteMap。

 RewriteLock /var/lock/rewritemaplock.lock RewriteMap base16to10 prg:/somewher/modrewritemapbase16to10.pl RewriteRule - ${base16to10:%{REQUEST_URI}} 

而对于Perl脚本(或任何其他语言),未经测试

 #!/usr/bin/perl $| = 1; # Turn off I/O buffering while ($uri=<STDIN>) { sprintf("/someResourse/id/%d",hex($uri)); } 

你可能需要测试和扩展程序,至少你需要在出错的时候返回“NULL”字符串。 你可能还需要在调用这个rewriteRule之前添加一些RewriteCond ,如果一些其他的url不应该被转换。

您可以使用其他语言的基本16到10重写器, 这里是一个PHP的例子 。

无法在.htaccess中进行计算。 但是您可以将请求发送到PHP(或其他语言)脚本,然后使用标头函数执行重定向。