【发布时间】:2010-12-25 02:53:35
【问题描述】:
我正在使用 mod_rewrite 的 RewriteMap 指令来处理 URL。我的 RewriteMap 程序是一个 PHP 脚本,一切运行良好。我能够将友好的 URL 映射到 PHP 程序 + ID。无论如何,我想做的是为某些 URL 返回一个 301 重定向。例如,如果有人输入 URL:
@987654321@
然后我希望我的 RewriteMap 程序发送一个 301 重定向到
@987654322@(斜杠)
然后它将再次进入我的程序以映射到 PHP 脚本。我尝试在我的语句末尾添加 [R=301] ,但这只是挂起请求。这是我的脚本的基本逻辑:
if ($input_url == "/directory1") {
echo "/directory1/ [R=301]\n"; // 这不起作用...只是挂起
}
否则 if ($input_url == "/directory1/") {
echo "/myprogram.php?id=1\n";
}
有什么想法吗?
【问题讨论】:
-
您提到了 mod_rewrite,它是一个 Apache 模块,但随后您向我们展示了一些 PHP 代码。这里有什么混乱吗?
-
哦,我认为 PHP 应用程序是 Rewrite prg,嗯?
标签: mod-rewrite url-rewriting http-status-code-301