apache中通过mod_rewrite实现伪静态页面的方法_Linux

rewrite规则学习
我们新建一个.htaccess文件之后,就在里面写入以下内容:
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
RewriteRule ([0-9]{1,})$ index.php?id=$1
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!
我们写一个处理的PHP脚本: index.php
2.让apache服务器支持.htaccess
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改为
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
就可以了。
3.建立.htaccess 文件
如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:
(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。
(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。
(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。

1.检测Apache是否支持mod_rewrite
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

复制代码 代码如下:

<?php
echo '你的Action是:' . $_GET['action'];
echo '<br/>';
echo '你的ID是:' . $_GET['id'];
?>

复制代码好了,我们现在在浏览器中输入:
localhost/view-12.html
输出的是:
你的Action是:view
你的ID是:12

时间: 2024-09-24 01:03:05

apache中通过mod_rewrite实现伪静态页面的方法_Linux的相关文章

apache中访问不了伪静态页面的解决方法_Mysql

1.安装 复制代码 代码如下: ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl 这时apache已经拥有的伪静态功能了,称为内建伪静态. 2.如果安装的时候没有  --enable-rewrite  这个参数,那么:到"LoadModule" 区域,在最后一行加入"LoadModule rewrite_module modules/mod_rewrite.so&

Apache服务器中使用.htaccess实现伪静态URL的方法_Linux

很多朋友可能是空间也就是虚拟主机,自己就没有权限来管理apache的httpd.conf文件了,自然就不太可能可以在这上面写静态规则了,下面我们可以让主机商开启支持.htaccess方法,这样就可以自己写了. 首先配置服务器启动重写模块 打开 Apache 的配置文件 httpd.conf . 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉. 保存后重启Apache 写重写规则 举例说明,test.php里的代码为 <?php $id=

Apache中利用mod_rewrite实现防盗链_Linux

 前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:.  view plaincopy to clipboardprint?<ifmodule mod_rewrite.c>  #开启mod_rewrite引擎   RewriteEngine On  #设置合法请求源    <ifmodule mod_rewrite.c>   #开启mod_r

Apache中使非伪静态url跳转到伪静态url的方法_Linux

如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转.因为不小心就会搞成死循环导致页面无法打开.好在问题最终解决了.记录并分享出来,给需要的朋友借鉴借鉴. 规则如下: RewriteRule ^article-([0-9]+).html$ /article.php?id=$1&r=1 [L] RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC] RewriteRule ^article.php$ /article

万网独享主机Apache为Ecshop商城添加404页面的方法详解_Linux

标题已经说的比较清楚,只针对这一种情况,希望给予遇到同样问题的人些许启发,缩短解决问题的时间. 相关信息: 万网独享主机/Linux操作系统/Apache/Ecshop商城/404页面设置,同样在win7系统/Apache上面也测试通过 一种问题解决方法: 1.首先在Apache的conf目录下面配置httpd.conf文件,找到#ErrorDocument 404 /missing.html,去除前面的#号即可,我的修改成了ErrorDocument 404 /404.html: 2.在站点的

Apache中的Order Allow,Deny用法详解_Linux

本文讲述了Apache中的Order Allow,Deny用法.分享给大家供大家参考,具体如下: Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 所以,最常用的是: Order Deny,Allow Allow from All 注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限.上面设定的含义是先设定"

Apache同时支持PHP和Python的配置方法_Linux

最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩.这个时候就遇到了问题. 服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python. 废话少说,提供有效方案一个,照做即可: 1. 修改 httpd.conf 文件 将下列几个Module前的注释符 # 去掉 LoadModule proxy_module modules/mod_proxy.so Lo

Linux CentOS6.6系统中安装mysql源码包的方法_Linux

这里以CentOS6.6系统中安装MySQL的源码包,进行讲解. 1. mysql源码包的下载 mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html 打开该下载地址后,在 "Select Version:"处,选择要下载的mysql的版本,我选择的是5.6.34:在"Select Platform:"处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source Code. 之后,会

Yum安装中出现错误mirrorlist.txt的解决方法_Linux

发现问题 今天在使用Yum install命令安装软件的时候一直提示一个错误,错误提示如下面: # yum install mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. </HTML>/ removing mirrorlist with no