0

我想知道在 Drupal 中是否有任何方法可以给定一个重定向另一个 url 的 url 获取原始 URL。

即,我有一个网址和别名:/prices/old-vehicles -> node/112

我将 url 重定向为 ->

/old-vehicles-pricing -> /prices/old-vehicles

我想写一个函数来从“/old-vehicles-pricing”获取“/prices/old-vehicles”

谢谢。

更新

我将尝试详细说明该场景。假设用户登陆 old-vehicles-pricing,然后他被重定向到 /prices/old-vehicle,它是 node/112 的别名。全部正确。

现在假设用户登陆 /de/old-vehicles-pricing(德语版)。该网址重定向不存在。尽管我可以为该特定页面创建重定向,但我正在尝试获得通用解决方案。所以我要做的是拦截无效的url,去掉语言前缀,并获取该url的原始url。即,第 1 步。我拦截对 /de/old-vehicles-pricing 的请求 第 2 步。我采取“旧车定价”第 3 步。我获得原始别名或规范 url(/prices/old-vehicles 或 node/ 112) 步骤 4. 我获得了规范 url 的翻译版本 步骤 5. 我将用户重定向到新的翻译 url

我只需要解决第 3 步。我已经实施了所有其他步骤。

另外,我知道用户永远不应该在“/de/old-vehicles-pricing”中启动。但这是我无法控制的,这就是我尝试实施此解决方案的原因。

谢谢

4

1 回答 1

0

即使我不明白为什么您创建一个页面仅用于重定向其他页面上的人,这里有一个在自定义模块中编写的解决方案:

<?php
/**
* Implements hook_menu
*/
function mymodule_menu() {
  $menu['old-vehicles-pricing'] = array(
    'title' => 'Old vehicles pricing',
    'page callback' => 'drupal_goto',
    'page arguments' => 'prices/old-vehicles',
    'access callback' => 'whetever-you-want',
  );
  return $menu;
}
?>
于 2014-04-16T12:54:35.147 回答