问题标签 [drupal-path-aliases]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
8695 浏览

drupal - 如何以编程方式在 Drupal 7 中批量创建/更新别名

如何仅使用 drupal 7 核心以编程方式批量化别名节点 url(使用它很棒的批处理 API!)?

我的问题实际上是如何使用 drupal 并识别存储在 url_alias 表中的别名

背景:

我从事的项目有超过 200,000 个节点(Drupal 7),并且使用 pathauto 模块(每 20 分钟 10 个别名)为所有这些节点的系统默认 URL 设置别名实际上需要数年时间。我尝试了一切来提高这些性能,但失败了(尝试了不同的服务器、不同的 mysql 优化、不同的模式)。

我已经准备好批处理功能,它们在 20 分钟内为 200,000 个节点起别名,它们创建了存储在表“url_alias”中的干净别名。我花了很多时间查看 pathauto 代码,但无法找到或理解该模块如何为 drupal 提供识别批量更新路径的命令。

感谢您的提示、答案或想法……非常感谢!

0 投票
1 回答
476 浏览

drupal - Drupal 7 - 重写特定页面的所有 url

我的 drupal 7 站点中有一个页面(商店)。在这个页面上是一个请求 web 服务的 php 脚本。响应取决于 URL,例如。/shop/pid-1234/pink-shoes.html 将显示 id 为 1234 的产品。因此,无论 shop/ 之后的 URL 是什么样的,我都需要 Drupal 加载 /shop 页面。我如何做到这一点?我曾尝试在 URL 别名模块 ($,%) 中使用通配符,但这不起作用。我也看过 pathauto 和 redirect,但似乎没有帮助。

有什么建议么?

0 投票
4 回答
6563 浏览

drupal - Drupal 批量更新 URL 别名

由于我们更改了设置,我有一组节点(大约 200 个)需要更新它们的 url 别名;从“site.com/things-to-do/title”到“site.com/guides/title”

我尝试使用 VBO,但是当我选择节点时,单击更新 URL 别名,然后执行,没有任何反应。

虽然我不想直接进行数据库更新,但我也尝试过:“UPDATE url_alias set dst = replace(dst, 'things-to-do', 'guides') WHERE url_alias LIKE 'things-to-do/%' ;

谢谢

0 投票
4 回答
4382 浏览

redirect - Drupal 7 一些不存在的 URL 没有重定向到 404?

在 Drupal 7 中,一些(不存在的)URL 没有重定向到 404 或它应该重定向到的任何错误页面。相反,它仍然显示其顶级父文件夹。例如像:

  • www.mywebsite.com/items/aaaaaaaaaaaaaa
  • www.mywebsite.com/items/bbbbbbbbbbbbbbbbbb

我在上面放置的每个 WRONG URL/items/都显示其父页面:
www.mywebsite.com/items而不是重定向到 404 ,如果真的没有页面
, 我不希望显示其父页面。

但奇怪的是,并非所有模式都发生这种情况。我的意思是,另一个不同的父母喜欢:

  • www.mywebsite.com/users/aaaaaaaaaaaaaa
  • www.mywebsite.com/users/bbbbbbbbbbbbbbbbbb

对于在此/users/父路径下输入的错误 url,它会正确地重定向到 404 页面。

请问是什么?

0 投票
2 回答
381 浏览

drupal - Google 中的节点别名问题?

我的网站页面在 Google 搜索结果中都显示为* .com/node/#### 而不是别名。

我需要帮助修复命名约定以通过别名显示在 Google 中,因为它们也列在 sitemap.xml 中。我不确定这是否需要从 Drupal 或通过 NGINX 修复。

请注意,我在 Bing 中没有这个问题。

0 投票
1 回答
1753 浏览

drupal - 带有查询参数的 Drupal 7 path_save

我已经到处搜索了这个例子,但我没有找到任何例子。我正在尝试为包含查询参数的路径创建别名,例如 profile?arg1=113。

如果我提供path_save()路径的纯字符串表示形式,或者我是否提供url().

无论哪种方式,=在 URL 别名管理页面上显示为转义字符,这自然意味着找不到路径。

我怎样才能保持?和=被逃脱?

2012 年 12 月 19 日编辑 1:更大的背景是我试图在保存Profile2配置文件时设置别名(即在 mymodule_profile2_presave() 中)——那时我将拥有我需要的所有信息以编程方式设置别名。

2012 年 12 月 19 日编辑 2:我刚刚意识到问题不在于插入端 - url_alias 表中实际上有未转义的字符。问题是 Drupal 在使用它之前不会对路径进行 urldecode ......

2012 年 12 月 20 日编辑 3:找到使用重定向而不是路径别名的解决方案。重定向正确解码查询字符串!

0 投票
2 回答
245 浏览

drupal - Drupal menu_link 带有节点/编号而不是别名

我有个问题:

我怎样才能基于别名,而不是hrefs?当我将鼠标悬停在一个元素上时,我看到的是节点/编号而不是别名。我做了一个重定向,但它发生在点击之后。有人可以帮助我吗?我一直在其他主题中寻找它,但我不擅长它,我只是不明白它是如何工作的。

0 投票
1 回答
1438 浏览

amazon-web-services - 迁移 Drupal 站点 - URL 别名 = 404 Not Found

我正在将 Drupal 站点从 Host X 迁移到 Amazon Web Services...这不是我的第一次站点迁移,也不是 AWS 的新手(这不是我的安全设置,也不是 apache)。不久前我在另一个站点上遇到了这个问题,但由于我的问题具有时间敏感性,我只是获取了源代码,在我的 PC 上创建了一个本地测试站点,更改了 URL 别名设置,然后重新部署了代码. Bam,没问题,一切正常。

我进行了搜索并找到了一些有关如何解决此问题的建议,但找不到我认为可以彻底了解我正在使用的方法的方法。因此,我不想安装模块,也不想更改原始站点并永久删除 URL 别名。

我需要能够在不太理想的情况下解决这个问题。

我需要知道如何手动删除 URL 别名(例如在 phpmyadmin 或 MySQL 服务器本身中),以及如何配置所述别名以便我可以保留它们的使用,但仍然显示我的 +20 页面。现在所有显示的是 index.php,如果我使用 ?q=user,我可以登录,但一旦我这样做,它就会抛出 404。如果我返回 index.php,它会在页面上方显示管理控制台,但同样,每隔一个页面都会抛出 404。

有人能指出我正确的方向吗(不涉及更多模块或一起删除 URL 别名)?

0 投票
1 回答
412 浏览

mod-rewrite - Drupal .htaccess 网址别名

如何使我的 URL (mysite.com/node/1) 看起来像这样 mysite.com/categoryname/myarticlename.html

我用过Joomla!直到现在,它有一个很好的选择来使用 mod_rewrite 和 .htaccess。

我怎样才能用 Drupal 做到这一点?

这可能吗?

我不知道我是否可以在这里询问这些问题,但如果不能,我将删除此帖子。

提前致谢!

0 投票
3 回答
1702 浏览

drupal - Drupal 7:在 URL 模式中显示分层词汇术语

我不确定这是否适合这个问题(我自称是新手)...我有一个具有以下方案的词汇表:
category1
   subcategory1a
   subcategory1b

我正在尝试为内容路径创建一个 URL 模式,因此它具有以下 URL 模式:category1/subcategory1a/[node:title]。我有 Drupal 7.22、Entity API 7.x-1.0-rc3 和 Pathauto 7.x-1.1,并且一直在 URL 别名部分尝试不同的令牌模式。如果我将模式设置为 [node:field-VOCABULARYNAME]/[node:title],那么生成的 URL 别名为:category1-subcategory1a/[node:title]。
有没有办法在父项和子项之间出现“/”而不是破折号?

或者有没有办法创建模式:[node:field-VOCABULARYNAME:0]/[node:field-VOCABULARYNAME:1]/[node:title]?

与列出的各个内容项(“节点”)相关的标记是:
[node:field-VOCABULARYNAME]
   [node:field-VOCABULARYNAME:1]
   [node:field-VOCABULARYNAME:2]
   [node:field-VOCABULARYNAME:3]

如果我将模式设置为 [node:field-VOCABULARYNAME]/[node:field-VOCABULARYNAME:1]/[node:title],那么生成的 URL 别名为:category1-subcategory1a/subcategory1a/[node:title]。

在我的内容类型中,我将该字段设置为分层选择小部件,并将术语引用作为字段类型。

我发现了这篇 StackOverflow 帖子(Drupal 7:Pathauto 分层分类术语模式),它似乎与我最相关,但我没有列出分类术语标记。

感谢您的指导