重写路径 -- 7 领域 和 redirection 领域 和 .htaccess 领域 和 uri 领域 drupal 相关 的问题

Rewriting paths


0
vote

问题

中文

默认情况下,我们网站上的页面看起来像:

  http://www.example.com/items/item-1-name   

首先,我需要它们在最后有".html" :

  http://www.example.com/items/item-1-name.html   

第二,我需要任何引用".print.html" (下面)重定向到.html:

  http://www.example.com/items/item-1-name.print.html   

这似乎是我的.htaccess对我来说,但是一些事情促使我写这个问题:

  1. 我不想把这些放在.htaccess(属于drupal,正确的?)
  2. 我没有成功把它们放在我的vhost文件里面(以下帖子< / a>)
  3. 我不确定是否有另外推荐的方法在drupal
  4. 中执行此路由

更新: 以下是我具体情况的更多信息:

  • 我只是在这里处理单个内​​容类型 - 所有'项目'是相同类型的节点。
  • 路径目前通过Pathauto
  • 生成
  • 所有'项目'是多语言; pathauto从每个语言中的标题中创建URL
英文原文

By default, pages on our site look like:

http://www.example.com/items/item-1-name 

First, I need them to have ".html' on the end:

http://www.example.com/items/item-1-name.html 

Second, I need any reference to ".print.html" (below) to redirect to .html:

http://www.example.com/items/item-1-name.print.html 

This seems like an .htaccess thing to me, but a few things prompted me to write this question:

  1. I don't want to put these in .htaccess (that belongs to Drupal, correct?)
  2. I didn't have any success putting them inside my vhost file (following this post)
  3. I'm not sure if there is another recommended way to do this routing in drupal

Update: Here's a bit more info on my specific situation:

  • I'm only dealing with a single content type here - all 'items' are nodes of the same type.
  • Paths are currently generated via Pathauto
  • All 'items' are multi-lingual; pathauto creates urls from the title in each language
           
   
   

回答列表

1
 
vote
vote
最佳答案
 

你的直觉是正确的。它看起来像几个简单的htaccess重写:

    RewriteRule ^(.*)\.print\.html$ /$1 [NC,L,R=301]   RewriteRule ^(.*)\.html$ /$1 [NC,L,R=301]   

解决您的#1问题,没有问题更改.htaccess。它包含一些旨在根据您的需求进行更改的一些自定义(例如,预先订阅"www。" 到您的主机名)。它是一个像 boost 一样的模块所必需的。

唯一的警告是,当您需要更新核心时,您必须确保复制超越自定义。如果这是一个问题,有一个 .htaccess模块​​专门用于跟踪您的自定义规则。

 

Your intuition is correct. It looks like a couple of simple htaccess rewrites:

  RewriteRule ^(.*)\\.print\\.html$ /$1 [NC,L,R=301]   RewriteRule ^(.*)\\.html$ /$1 [NC,L,R=301] 

To address your #1 concern, there's no problem altering .htaccess. It contains a few customizations that were designed to be altered depending on your needs (e.g. prepending "www." to your host name). It's required for some modules like boost.

The only caveat is you have to make sure to copy over customizations when you need to update core. If that's a problem there's the .htaccess module dedicated for keeping track of your custom rules.

 
 
 
 

相关问题

1  我的电子商务网站怎样才能在没有添加到购物车的情况下展示产品? [关闭]  ( How can my ecommerce site only showcase products without an add to cart option ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅介绍了编辑此帖。 关闭 5年前。 ...

2  在哪里可以在Ubercart Cart模块中配置用户和管理电子邮件?  ( Where can i configure user and admin email message in ubercart cart module ) 
在其中可以在Drupal 7中的Ubercart Cart模块中配置用户和管理电子邮件消息? 我想改变用户通知电子邮件的电子邮件主体和admin。 ...

0  在外部PHP Fil中使用Drupal散列  ( Use drupals hashing in an external php fil ) 
我们正在为基于Drupal 7的网站制作一些Web服务。 在该WebService中,一项任务是在该网站上注册新用户。 此任务时唯一的主要问题是在不在Drupal安装目录中的PHP代码文件中访问Drupal Hash函数。 如何达到如何实现这一目标的指导。 ...

0  如何从自定义模块中删除特定节点?  ( How to delete specific nodes from a custom module ) 
我建立了一个自定义结节,使用面板将按钮打印到用户编辑页面上的块。现在它只是抓住了UserID并吐出了一个Drupal消息。 我的目标是让按钮删除特定内容类型的某些节点,没有标记的自定义字段,由正在编辑的用户编辑。 我有点丢失我甚至开始的地方。我假设我必须做一个SQL语句 function custom_modul...

0  'block / plugin'显示选定的节点。编辑可用节点时,按类型(或视图)过滤  ( Block plugin show a selected node when editing the available nodes are filter ) 
有一种方法可以在面板中放置一个"块/插件" ,当管理员编辑时,将有一个列表(使用视图,如果可能的话)要选择? 该想法是将此"块/插件" 放在"服务" 窗格中,例如,允许管理员在简易列表中轻松更改"类型服务" 的"网络节点" 。类似于 node_pane ,但不完全相同。 如上所以我可以说"这将是一个突出显示的新闻,它...

2  drupal 7.35 .htaccess:无效的命令'订单',可能是由不包含在服务器配置中的模块拼写错误或定义  ( Drupal 7 35 htaccess invalid command order perhaps misspelled or defined by ) 
我正在尝试用cloudfoundry部署drupal的实例。一切都加载似乎是正确的,但是当我尝试击中页面时,我会在日志中获得以下错误: ../.htaccess: Invalid command 'Order', perhaps misspelled or defined by a module not inclu...

0  支持和升级贡献和自定义DRUPAL模块列表的最佳实践是什么? [关闭]  ( What are best practices for supporting and upgrading a list of contributed and c ) 
关闭。这个问题是基于意见的。它目前不接受答案。 想要改进这个问题?更新问题,以便通过编辑此帖的事实和引用来回答。 关闭 5年前。 ...

0  如何在模态对话框中显示搜索块  ( How to display search block in a modal dialog ) 
我想完成的是在用户点击我创建的搜索按钮时显示模态对话框中的搜索块。我创建了一个搜索按钮块(基本上是一个带有链接的图像),现在我想指向搜索块,并在模态对话框中显示。我只是不知道从这里去,或者如果甚至可能去这条路线。有人可以提供一些指示我需要做的事情吗? ...

0  Drupal 7中的静态与动态查询和使用[关闭]的正确语法  ( Static vs dynamic queries in drupal 7 and the right syntax to use ) 
关闭。这个问题是基于意见的。它目前不接受答案。 想要改进这个问题?更新问题,以便通过编辑此帖的事实和引用来回答。 关闭 6年前。 ...

0  防止菜单项被按下两次  ( Preventing a menu item from being pressed twice ) 
我有一个菜单项,显示在我的一个节点上,然后按下它将触发有点长的过程。我想制作它,以便用户再次暂时按下菜单按钮,但我不能弄清楚如何做到这一点。是否有一种覆盖在Drupal窗口上叠加的好方法来解释该过程需要一些时间并防止另一点击?如果没有,是否可以从菜单回调中显示警报对话框,警告用户这将需要一些时间。 ...

1  什么是分类学/术语/ tid / *  ( What is taxonomy term tid ) 
我第一次看到谷歌索引的链接:分类/术语/ 10007 / *在这里 。 是什么可能导致它? 我已经启用了globalredirect,也没有使用仿真"分类学术语" ,它模拟了Drupal核心的分类/术语的处理。 ...

1  搜索产品 - 搜索API模块  ( Search a product search api module ) 
我正在创建一个电子商务网站,具有一种内容"产品" 。我正在使用Search API能够在我的视图上进行Facets过滤器。我将内容"产品" 类型链接到搜索API。所以我有不同的方面文件员。一切都很完美。 现在我将能够搜索产品。在我的搜索结果页面上,我可以拥有我的小平面过滤器。 所以我尝试了2个选项: 1)我找到了这...

0  hybridauth重定向到成功登录后的电子邮件链接  ( Hybridauth redirection to an emailed link after success login ) 
im使用 hybridauth 让用户从不同的社交媒体网站登录... 我手动向某些用户发送电子邮件以编辑特定节点的链接(例如 http://example.com/node/444/edit?parma1=val1 & ;param2=val2 )。 此时,用户将自动重定向到页面以选择他想要登录的社交媒体。 我使用...

1  索引视图中的实体参考字段上的上下文过滤器  ( Contextual filter on entity reference field in indexed view ) 
我有两页:工作和办公室。 我的作业页面是一个索引视图(带搜索API),它将显示具有它所属的Office的实体参考字段的作业。 我想在我的办公室页面上链接,这些页面链接到作业页面,只显示属于该特定办公室的作业。 我遵循一些例子,但其中没有一个似乎与我的索引视图一起使用。有人做了类似的事情吗? 这就是我所做的: http...

0  从Drupal 7中提交的时间标记删除“pubdate”属性  ( Remove pubdate attribute from submitted time tag in drupal 7 ) 
目前,当提交节点或注释时,它会获得提交的文字,如提交的文字说"由我们周三提交的,04/01/2015 - 18:07" 标记为: <span>Submitted by *user* on <time pubdate="pubdate" datetime="2015-04-01T18:07:34+0000">...

0  使用主题()在用户编辑中输出HTML / JavaScript  ( Using theme to output html javascript in user edit ) 
我有一个模块,将按钮输出到用户编辑页面。我使用form_user_profile_form_alter来追加按钮,但我想在它之后添加HTML和JavaScript。我看到主题()函数可以这样做,但我的尝试不会添加任何HTML。此外,我看到主题需要两个参数,但我不知道第1参数应该是什么。我只是在遵循例子。 func...

1  无法折叠块  ( Cant collapse block ) 
我的导师给了我一个作业,我必须创建一个块用户上次使用timezone登录。我在这个网站上做到了 http://dev-bor.pantheon.io 。我的问题是,任务表示我需要每10秒用JavaScript折叠块。所以我使用了可折叠块模块的API,安装得很好,但我无法让它崩溃。我是一个noob。我的代码将在下面。 ...

0  调用基于标准的函数呼叫删除节点的函数是危险的,而Cron作业正在运行以导入它们  ( Is it dangerous to call a function that deletes nodes based on criteria while a ) 
我有自定义模块在按钮上执行dbquery,单击,单击删除适合某个标准的节点。危险是我偶尔运行一个传统的作业,可以导入适合这个标准的节点?如果我同时跑两次爆发? ...

0  如何删除内部评论内的不必要的信息  ( How to remove unnecessary information inside comments for support tickets ) 
我已安装支持模块。并为它设置评论。一切正常工作,但评论包含很多不必要的信息: 我研究了支持票材内容类型的评论部分。但我没有什么可以做到的: ...

4  在批处理过程后击中后按钮会导致令人讨厌的错误  ( Hitting the back button after a batch process cause a nasty error ) 
我有一个批处理(使用批处理API),当用户在我的站点上的用户尝试启动非签名的Java applet时运行。批处理完成所有所需的代号和其他内容,然后在完成后将用户重定向到小程序。这一切都很好,但如果用户从Applet页面击中,他们将使用Bath_Error函数中的文本获取此令人讨厌的错误。 似乎发生这种情况是因为...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.