云计算开发者社区

用新浪微博连接

一步搞定

楼主: 文峰

说明一下URL rewrite是如何工作的 方便大家写rewrite   [复制链接]

Rank: 1

发表于 2012-9-1 09:33:29 |显示全部楼层
学习了,谢谢

使用道具 举报

Rank: 1

发表于 2012-9-1 09:39:19 |显示全部楼层
文峰 发表于 2012-3-26 17:00
由于rewrite模块的变动比较少 所以下面的规则虽然没有官方的支持 但也可以用
1.301转跳
  例如 如果a.com ...

www.a.com/  这样的话会产生双斜线变成 www.a.com//  这样的话百度分享统计该页面不算是主页,我把斜线去掉了,也能访问. www.a.com/$1?%  ->  www.a.com$1?%  不知道这样改对不对,请峰哥指导,谢谢!

使用道具 举报

Rank: 1

发表于 2012-9-1 12:39:02 |显示全部楼层
本帖最后由 刀客孩哥 于 2012-9-1 12:39 编辑

峰哥在吗?

我的项目是ci框架做的,现在要去掉abc.com/后面带的index.php
如访问
www.abc.com/about
时自动解释为
www.abc.com/index.php/about

这是我的.htaccess文件

RewriteEngine on
RewriteCond $1 !^(index\.php|public|robots\.txt)
RewriteRule ^(.*)$ /abc/index.php/$1 [L]

求sae里的写法

使用道具 举报

Rank: 1

发表于 2012-9-1 15:37:50 |显示全部楼层
刀客孩哥 发表于 2012-9-1 12:39
峰哥在吗?

我的项目是ci框架做的,现在要去掉abc.com/后面带的index.php

在sae里面config.yaml 加上
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"

使用道具 举报

Rank: 1

发表于 2012-9-1 17:13:34 |显示全部楼层
西饭网 发表于 2012-9-1 15:37
在sae里面config.yaml 加上
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/ ...

谢了兄弟
这个config.yaml是即改即生效的吗

贴进去以后,还是未能如愿啊,我的真实网站在根目录下的aa/bb里面

使用道具 举报

Rank: 1

发表于 2012-9-2 11:11:51 |显示全部楼层
刀客孩哥 发表于 2012-9-1 17:13
谢了兄弟
这个config.yaml是即改即生效的吗

贴进去了你清空缓存看看,我用的是thinkphp的框架做的,写这句就可以生成静态url了

使用道具 举报

Rank: 1

发表于 2012-9-2 15:06:02 |显示全部楼层
代码估计没问题

问题出在我的目录上

我的整站都在
http://2.xxx.sinaapp.com/aa/bb/
里,而不是
http://2.xxx.sinapp.com/

使用道具 举报

Rank: 2

发表于 2012-11-16 09:44:00 |显示全部楼层
mark了,以后用到再看看

使用道具 举报

Rank: 1

发表于 2012-12-17 11:16:01 |显示全部楼层
学习了,谢谢~~~
标记~

使用道具 举报

Rank: 1

发表于 2012-12-18 16:15:14 |显示全部楼层
不错,那个文件夹绑定域名的不错,支持

使用道具 举报

发表于 2013-1-10 14:43:58 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

使用道具 举报

Rank: 3Rank: 3

发表于 2013-1-19 13:10:55 |显示全部楼层
mark 备用

使用道具 举报

Rank: 1

发表于 2013-1-23 06:56:56 来自手机 |显示全部楼层
楼主给力啊。。。

使用道具 举报

Rank: 1

发表于 2013-2-25 18:56:44 |显示全部楼层
问题求解:
    我第一次配置的rewrite规则为:- rewrite: if(!is_dir() && !is_file()) goto "index.php?%{QUERY_STRING}",并且系统运行正确。 之后,我为了让所有请求都跳到一个URL:/put.php,于是我修改了规则为:- rewrite: if(!is_dir() && !is_file()) goto "/put.php",但系统却不生效,我删除了所有的rewrite规则,系统仍然不生效,这是为什么呢?

点评

放眼看微世界  rewrite: if(!is_dir() && !is_file()) goto "/put.php" 保存后,系统也提示保存成功,但我输入首页url,系统返回给我的内容并不是put.php的内容(和之前一样)   发表于 2013-2-28 12:05:53
文峰  不生效 指的是什么?  发表于 2013-2-26 14:24:59

使用道具 举报

Rank: 3Rank: 3

发表于 2013-3-6 12:16:36 |显示全部楼层
- rewrite:if (  in_header["host"] ~"^a.com"   && path ~ "(.*)" ) goto "http://www.a.com/$1?%{QUERY_STRING}"
我的怎么一直不成功呢?

点评

文峰  整个yaml贴一下  发表于 2013-3-6 12:18:37

使用道具 举报

Rank: 3Rank: 3

发表于 2013-3-6 12:28:55 |显示全部楼层
小寒乄 发表于 2013-3-6 12:16
- rewrite:if (  in_header["host"] ~"^a.com"   && path ~ "(.*)" ) goto "http://www.a.com/$1?%{QUERY_S ...

- rewrite: if (  in_header["host"] ~"^86xinx.com"   && path ~ "^(.*)" ) goto "http://www.86xinx.com/$1?%{QUERY_STRING}"
- rewrite: if (! is_file()&& path ~ "/(\d{8,10})" ) goto "shop.php?shopid=$1"
- rewrite: if (!is_dir() && !is_file() && path ~ "/(\d{8,10}).html" ) goto "shop.php?shopid=$1"

这是我的所有语句

使用道具 举报

Rank: 3Rank: 3

发表于 2013-3-6 12:31:27 |显示全部楼层
第一条的^去掉  也不行。。

使用道具 举报

Rank: 9Rank: 9Rank: 9

发表于 2013-3-6 12:48:37 |显示全部楼层
http://86xinx.com/  无法访问

使用道具 举报

Rank: 2

发表于 2013-7-19 17:13:26 |显示全部楼层
这个不错。

使用道具 举报

Rank: 1

发表于 2014-2-22 00:13:40 |显示全部楼层

奖励啥东东

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|云计算开发者社区 ( 京ICP证000007-137 )

GMT+8, 2018-9-20 23:33 , Processed in 0.180574 second(s), Total 12, Slave 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部