drupal 代码实现URL重写
/*
* 伪地址转原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址转伪地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 实现hook_url_inbound_alter时不知为何会调不出实现函数,可能因为HOOK过早加载,没有把module加载完全。所以我的做法是写在URL重写模块中,例如subpath_alias
相关推荐
-
Drupal7中常用的数据库操作实例
1.插入单条记录 复制代码 代码如下: db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute(); 2.插入多条记录 复制代码 代码如下: $values[] = array('field1' => 'val1', 'field2' => 'val2', 'fieldn' =>
-
Drupal7 form表单二次开发要点与实例
请记得收藏此文,在你进行Drupal 7 custom module时,经常会用到的form 表单的跳转或重载. 主要汇总三个要点: 1.页面提交后,经过#submit处理后,需要redirect 跳转到另外一个页面.2.url路径中存在destination参数时,页面直接跳转到destination所指的url,无法控制的问题.3.form表单如何实现multiple steps forms 多个步骤,或者表单提交后,如何在表单获取到提交上来的值. 一.Form 表单 redirect(跳转
-
php文件上传表单摘自drupal的代码
drupal文件上传表单的例子 复制代码 代码如下: function upload_form() { $form = array(); // If this #attribute is not present, upload will fail on submit $form['#attributes']['enctype'] = 'multipart/form-data'; $form['file_upload'] = array( '#title' => t('Upload file'),
-
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
状况如下: 1.点击保按钮后,不能正常转到页面,出现空白页面: 2.刷新页面,发出导航中许多项已经没有了,还存在的项点击也不能进入正常的页面. 测试了多次没有发现任何问题,多次重装.测试,终于出现了一个错误页面提示:"drupal Maximum execution time of 30 seconds exceeded database in /mysqli.inc",一看这个文件,终于发现了点曙光.baidu了下,发现有三个解决方法,一一试之,问题解决. 现将这些方法记下: 方法一
-
drupal 代码实现URL重写
以下是实现例子: 复制代码 代码如下: /* * 伪地址转原地址 (url_alter) */ function example_url_inbound_alter(&$path, $original_path, $path_language) { if (preg_match('|^article(/.*)|', $path, $matches)) { $path = 'node'. $matches[1]; } } /* * 原地址转伪地址 (url_alter) */ function e
-
asp.net下实现URL重写技术的代码
URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程. 比如浏览器发来请求hostname/101.aspx ,服务器自动将这个请求中定向为http://hostname/list.aspx?id=101. url重写的优点在于: 缩短url,隐藏实际路径提高安全性 易于用户记忆和键入. 易于被搜索引擎收录 二 实现url重写的基本方法 下载MS的URLRewriter.dll,放到你的web程序的bin下 下载地址1:http://w
-
Global.asax的Application_BeginRequest实现url重写无后缀的代码
利用Global.asax的Application_BeginRequest 实现url 重写 无后缀 复制代码 代码如下: <%@ Application Language="C#" %> <script RunAt="server"> void Application_BeginRequest(object sender, EventArgs e) { string oldUrl = System.Web.HttpContext.Curr
-
.htaccess重定向和url重写详细介绍
什么是htaccess 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误页面.改变文件扩展名.允许/阻止特定的用户或者目录的访问.禁止目录列表.配置默认文档等功能. 一个简单的重定向 复制代码 代码如下: Redirect 301 ^old.html$ http://localhost/new.html 这是设置一个http状态码为301(永久移动)并把所有访问old.ht
-
linux下apache开启url重写的方法(详细说明)
Linux开启url重写的方法: 1.打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里) 2.找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 3.找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉 注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写.Apache 服务器要读每个网站下目录下的 .
-
asp.net用url重写URLReWriter实现任意二级域名 新
一般用百度搜的朋友都是对这个不了解但又急需要用的,我想,再多的语言也比不过一句代码.于是我把今天帮朋友时候写的一个小例子传了上来.这个小例子的目的是实现对任意url的重写(但不包括二级域名的,有需要二级域名的也可以先了解下url重写的概念). 这个小项目的制作过程如下 1.需要对诸如http://jb51.net/viewnews/2009/3/2.html的url进行重写.将其重写为http://jb51.net/viewnews.aspx?id=2&year=2009&month=3
-
一个完整的ASP.NET 2.0 URL重写方案[翻译]
这篇文章描述了一个完整的 ASP.NET 2.0 URL 重写方案.这个方案使用正则表达式来定义重写规则并解决通过虚拟 URLs 访问页面产生回发事件的一些可能的困难. 为什么要重写 URL ? 将 URL 重写方法应用到你的 ASP.Net 应用程序的两个主要原因是:可用性和可维护性. 可用性 谁都知道,相对于难于辨认的带参数的长的查询路径,用户更喜欢一些短的.简洁的 URL.任何时候,一个容易记住和敲入的路径比添加到收藏夹更有用.其次,当一个浏览器的收藏夹不可用时,记住的地址总比在搜索引擎中
-
Asp.Net URL重写的具体实现
说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用 12345.html 替换 show.aspx?id=12345这样的地址访问 也可以实现百度空间的 http://hi.jb51.net/wu1987116 替换 http://hi.jb51.net/index.aspx?UserName=wu1987116 功能,支持任意扩展名及无扩展 程序要调整的部分只有两块.一是web
-
URL重写及干掉ASP.NET试图状态的实现方法
1.URL重写已经很普遍了,但基本上大部分的URL重写都不支持页面的相对路径,所有如果想在已经开发好的项目中添加还是有压力的,第二就是例如微软的那个URL重写是根据正则表达式来处理的,那样是很好,但也有不足之处,就是不方便定位到某个页面只能有哪些参数. 我觉得要解决的问题有一下几个: 1.解决如图片js等不能使用相对路径的文件 2.解决某个页面能有几个参数和哪些参数是可选的 下面就是解决掉这些问题了 添加处理程序MyHttpModule,下面是我的一个简单的处理程序(我只是做了一个简单的,并没有
-
asp.net用url重写URLReWriter实现任意二级域名 高级篇
我最近写了个小例子,大家可以先看这个,里面有小例子的完整代码下载 http://www.jb51.net/article/20906.htm 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?第一步:在浏览器键入了一个地址,比如ht
随机推荐
- 基于Java回顾之JDBC的使用详解
- MySQL exists 和in 详解及区别
- DOM 中的事件处理介绍
- Tomcat 热部署的实现原理详解
- 在Swift程序中实现手势识别的方法
- JavaScript编程的10个实用小技巧
- Android自定义商品购买数量加减控件
- HTML5开发Kinect体感游戏的实例应用
- js 中 document.createEvent的用法
- css+js下拉菜单
- javascript中加var和不加var的区别 你真的懂吗
- MAC下MySQL初始密码忘记怎么办
- jQuery树控件zTree使用方法详解(一)
- jQuery实现复选框全选/取消全选/反选及获得选择的值
- java 解压与压缩文件夹的实例详解
- PHP计算指定日期所在周的开始和结束日期的方法
- python中关于for循环的碎碎念
- PHP获取数组最后一个值的2种方法
- python交互式图形编程实例(一)
- Java实现文件上传的两种方法(uploadify和Spring)