mod_rewrite模块的使用

本文详细介绍了如何在Apache服务器中配置mod_rewrite模块,通过修改httpd.conf文件启用重写功能,并提供了两个实验案例:一是将请求从alice.html重定向到bob.html;二是展示CodeIgniter框架中如何通过.htaccess文件去除index.php。这些步骤对于理解和应用URL重写至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.
httpd.conf中确保
LoadModule rewrite_module modules/mod_rewrite.so

2.

<Directory "C:/php/mywork">

   

#AllowOverride None改成


AllowOverride All

</Directory>

3.实验一
建立一个.htaccess文件,目的是将alice.html=>bob.html

RewriteEngine on
RewriteRule ^alice.html$ bob.html
 
4.实验二
code igniter去掉index.php的例子

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ test/index.php/$1 [L]

转载于:https://www.cnblogs.com/fanzi2009/archive/2009/05/13/1455981.html

Apache服务器中的`.htaccess`文件mod_rewrite模块是一种强大的工具,它允许你在Web服务器配置文件中通过URL重写规则对请求路径进行操作,而无需更改实际应用程序的源码。开启这个模块通常是为了优化URL结构、隐藏动态生成的URL,或者实现路由功能。 要启用mod_rewrite模块,你需要按照以下步骤操作: 1. **确认mod_rewrite已安装**:首先,检查你的Apache服务器是否已经安装了mod_rewrite模块。可以在Apache的配置文件`httpd.conf`或`apache2.conf`中查找`LoadModule rewrite_module modules/mod_rewrite.so`这一行,如果存在则表示已安装。 2. **打开mod_rewrite**:如果没有找到上述内容,需要添加这一行到相应的模块加载区,并重启Apache服务使其生效: ```bash LoadModule rewrite_module modules/mod_rewrite.so ``` 3. **创建.htaccess文件**:在你的网站根目录下或每个需要应用重写的目录下创建一个名为`.htaccess`的文本文件。如果没有权限在根目录创建,就在对应目录下创建。 4. **编写规则**:在`.htaccess`文件中,使用RewriteEngine指令开启重写引擎,并根据需求编写重写规则。例如,将所有`example.com/blog.php?id=123`类型的URL重定向为`example.com/blog/123`: ```apache RewriteEngine On RewriteRule ^blog/(.*)$ blog.php?id=$1 [L] ``` 5. **保存并测试**:保存`.htaccess`文件,然后访问你的网站以查看重写是否生效。如果遇到问题,可以检查规则语法或检查Apache日志文件`error_log`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值