apache - .htaccess 中的数基转换

标签 apache .htaccess math mod-rewrite base

我打算对表单进行 url 重定向:

从:

domain.com/A

进入
domain.com/someResourse/id/10

在这个重定向中,id 的基数从 改变了。 16 10 .

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

最佳答案

您可以使用 RewriteMap与外部程序映射 (prg:)。这是对 mod-rewrite 甚至是 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”字符串。您可能还需要添加一些 RewriteCond 如果不应该转换其他一些 url,则在调用此 rewriteRule 之前。

您可以为 base 16 到 10 重写器使用其他语言,here's an example in PHP .

关于apache - .htaccess 中的数基转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732038/

相关文章:

perl - 如何重新加载催化剂中的配置

apache - cursorMark是无状态的以及它如何解决深度分页

python - 使用 python-markdown-math 渲染 markdown 时出现问题

c# - 如何在 C# 中解析数学表达式?

python - 一个好的多线程 python 网络服务器?

git - Jenkins 凭据插件和 GIT 客户端不工作

php - Codeigniter、OpenID 和 .htaccess

html - 如何使用 htaccess 强制使用 http- 而不是 https

php - 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

ruby - 我在哪里可以找到 Ruby 中的数学密集型应用程序