用.htaccess文件实现URL重写
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用.htaccess文件实现URL重写,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3398字,纯文字阅读大概需要5分钟。
内容图文
2、新建 .htaccess 文件
在 windows 系统默认的情况下是不能新建没有文件名的文件的,这里建议大家使用 vim 这个编辑器来新建。方法是打开 vim 编辑器随便输入一段文字,然后保存为 .htaccess 即可。很多朋友因为习惯了 windows 系统,所以新建这个文件很头疼。还有就是文件名一定不要错,我今天写的时候把文件保存成了.htacess,看到没有,少了一个c,怎么调试都不对,还好 最后发现了这个低级错误。
3、配置 .htaccess 文件
.htaccess 文件务必放在你项目的根目录下,不要放在其他文件夹下。配置 .htaccess 文件的格式如下:
<ifmodule mod_rewrite.c>
RewriteEngine On
#这里是你的规则
</ifmodule>
解释:RewriteEngine On :启动URL重写引擎
先看如下一个配置好了的 .htaccess 文件实例:
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.html$ /index.php [L]
RewriteRule ^shop/(.+)/$ shop/shop.php?providerId=$1 [L]
</ifmodule>
分析:上面 .htaccess 文件就写了二条规则。当在浏览器中输入 index.html 时,后台调用的是 index.php
文件。符号“^”是以后面的字符开头,相信熟悉正则表达式的朋友不会陌生吧,符号“$”是以前面的字符结尾。符号L表示停止处理接下来的规则。最后一条当
我们在浏览器中输入 shop/2322 时,后台调用 shop.php文件并传递参数provider=2322 。
配置规则,大家照着那一条去写吧,记得每行后面加个 L 符号。
再写一个:
http://www.yourdomin.com/category.php?id=12 想重写成 http://www.yourdomin.com/category/12
RewriteRule ^category/([0-9]+)$ category.php?id=$1
如果有多页的文章 如:http://www.yourdomin.com/category.php?id=12&page=3 重写成 http://www.yourdomin.com/category/12/3
RewriteRule ^category/([0-9]+)/([0-9]+)$ category.php?id=$1&page=$2
如果你想升级你的站点,又要保证老的链接都可用,你也可以通过mod_rewrite模块来实现。你仅仅需要写一个规则之处这个网页被永久的移动了。例子如下:
RewriteRule ^oldpage.html$ newpage.html [R=301]
记录下来,以后还会用到。
【二】 其实我想要的效果就是像他的个人网站那样 http://www.wangkongming.cn/category/诗歌/ 链接的地址这样显示 // 重定向 链接不带后缀
RewriteRule ^(blog)([\w/]*)\.([a-zA-Z]+)$ /$1$2 [R=302]
() 括号对应$ 的内容 302 暂时重定向 301 永久重定向 /$1$2 这个 / 可以去掉系统加在链接上的地址。。。大概这个意思吧
上面这句的效果是:将http://www.wangkongming.cn/category/index.html 链接重定向为 http://www.wangkongming.cn/category/index -------------------------------------------------------------------------------------------------------------------------------------- 但是 http://www.wangkongming.cn/category/index 是访问不到的。因为生成静态后,文件夹中的文件是 http://www.wangkongming.cn/category/index.html 这种带后缀的文件
所以有了下面这句: //使网站地址 category/index 可以访问到 category/index.html RewriteRule ^(blog)([\w/]*)$ $1$2\.html [QSA,L] 上面这句的效果是:使 http://www.wangkongming.cn/category/index 可以访问 http://www.wangkongming.cn/category/index.html -------------------------------------------------------------------------------------------------------------------------------------- 我觉得 这两句结合的话,应该是可以达到我想要的: //循环重定向
RewriteEngine On
RewriteRule ^(blog)([\w/]*)\.html$ /$1$2 [R=302,L]
RewriteRule ^(blog)/([\d]*) /$1/$2\.html [QSA,L]
但是浏览器报错 :请求地址在循环重定向 恩 ,然后没有解决的
.htaccess 放在根目录
这个网站系统是 基于PHP的
用.htaccess文件实现URL重写
标签:
本文系统来源:http://www.cnblogs.com/keytree/p/5529643.html
内容总结
以上是互联网集市为您收集整理的用.htaccess文件实现URL重写全部内容,希望文章能够帮你解决用.htaccess文件实现URL重写所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。