1.开启mod_rewrite模块
2.httpd.conf文件中,
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
AllowOverride后面的参数改为All
3.在Apache的www目录下建立.htaccess文件
4..htaccess文件内容举例
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/FOODZ/index.php\w*$
RewriteCond %{REQUEST_URI} !^(.*)admin(.*)$
RewriteCond %{REQUEST_URI} !^(.*)\.js$
RewriteCond %{REQUEST_URI} !^(.*)\.css$
RewriteCond %{REQUEST_URI} !^(.*)\.swf$
RewriteCond %{REQUEST_URI} !^(.*)\.xml$
RewriteCond %{REQUEST_URI} !^(.*)\.jpg$
RewriteCond %{REQUEST_URI} !^(.*)\.gif$
RewriteCond %{REQUEST_URI} !^(.*)\.png$
RewriteCond %{REQUEST_URI} !^(.*)\.ico$
RewriteCond %{REQUEST_URI} !^(.*)\.php$
RewriteCond %{REQUEST_URI} !^(.*)\.html$
RewriteCond %{REQUEST_URI} !^(.*)\.htm$
RewriteCond %{REQUEST_URI} !^/FOODZ/$
RewriteBase /
RewriteRule ^FOODZ/(.*)$ FOODZ/index.php?file=menu&op=menu&action=search&resId=$1
</IfModule>
其中 RewriteEngine on 表示打开rewrite功能。
RewriteCond是url地址重写的规则,规定了哪url重写或者哪些url不重写。
RewriteCond %{REQUEST_URI} !^/FOODZ/index.php\w*$ 表示对主机名+以/FOODZ/index.php开头的url 不进行url重写。由于重写不仅仅是地址栏的网址的重写,也会对页面里的JS、CSS等文件的路径重写,所以为了不对这些文件产生影响,增加一些RewriteCond %{REQUEST_URI} !^(.*)\.js$等规则。
RewriteBase 表示基础目录。
RewriteRule 定义了具体如果重写。RewriteRule前半段是正则表达式,后半段是重写后的地址。后半段中的$+数字自动匹配为前半段中的()中的内容,第几个数字就是第几个括号。
所有配置好以后Apache的服务要重启。
以上是一个基本的URL地址重写,还有很多强大的功能没有发挥出来。
详细的可以参考Apache的官网。
分享到:
相关推荐
本文将通过具体的示例来探讨Apache重写规则(RewriteRule)的应用场景及其配置方式。 #### 二、为什么需要使用重写规则 随着网站的发展,其结构和内容往往会经历多次调整。这些调整可能会导致原有的URL不再适用,...
在IT行业中,URL重写是一项重要的技术,它允许我们通过隐藏复杂的URL结构,提供更友好的、可读性更强的地址给用户。本主题聚焦于CI(CodeIgniter)框架在与Nginx、IIS(Internet Information Services)和Apache这三...
在Linux环境下,Apache服务器的URL重写功能是一个强大的工具,它允许您将复杂的URL转换为更简洁、用户友好的格式,提高网站的可访问性和SEO优化。Apache的URL重写功能是通过`mod_rewrite`模块实现的。以下是开启...
将源码解压缩 上传到配置好的网站根目录之后 只有首页能访问 其他页面404 ? 使用的是TP/laravel框架开发的源码 路径会出现问题 修改httpd.conf 打开 LoadModule rewrite_module ...找到上述代码 路径重写 添加代码
Apache重写是Web服务器Apache的一项强大功能,它允许我们通过RewriteRule指令来改变URL的结构,从而实现URL隐藏、动态URL静态化、路径映射等目的。这在优化网站SEO、提高用户体验以及管理复杂应用架构时尤为重要。...
通过以上内容,我们可以看到Apache重写规则在网站运维中的重要性和灵活性,它帮助开发者和管理员有效地管理和调整网站结构,同时保持对用户的透明性。理解和熟练运用这些规则,能够更好地优化网站性能和用户体验。
为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写规则)。 二、重写规则的作用范围 —- 1.使用在Apache主配置文件httpd.conf中。 —- 2.使用在httpd.conf里定义的配置中。 ...
本文将详细介绍如何在Ubuntu上利用Apache2建立基于IP地址的多站点Web服务。 首先,确保Apache2服务已经安装并运行正常。在Ubuntu终端中,通过以下命令更新包列表和安装Apache2: ```bash sudo apt update sudo apt...
以下是对Apache URL重写规则中一些常用标志的详细说明: 1. **R[=code]**: 强制外部重定向。此标志会在替代字符串前添加主机名和端口号,形成完整的外部URL,并使用指定的HTTP状态码进行重定向。默认情况下,状态码...
Apache URL 重写功能是通过其内置的模块`mod_rewrite`来实现的,该功能允许开发者隐藏实际的URL路径,创建更加用户友好的网址,同时还能进行动态请求的路由和处理。以下是开启Apache URL重写功能的详细步骤: 1. **...
- **Apache mod_rewrite**:Apache服务器的模块,通过配置.htaccess文件实现URL重写。 - **UrlRewriteFilter**:这是一个基于Java的开源过滤器,常用于Spring MVC等Java Web应用中,通过web.xml配置实现URL重写。 ...
URL重写指南 - Apache HTTP服务器.mht
本视频讲解:Nginx的架构,地址重写、反向代理、负载均衡等内容。Nginx:取代Apache的高性能Web服务器;Nginx是当前最流行,也是最热门的WEB服务器,近几年呈快速增加的趋势。Nginx的并发能力,以及自带的反向代理和...
1. **提升用户体验**:通过创建有意义、简洁的URL,用户可以更容易地理解和记住页面地址,增加网站的可读性和可分享性。例如,`example.com/blog/post/123`比`example.com/?id=123`更有助于用户理解其指向的是哪篇...
Apache支持许多插件和模块,例如mod_rewrite用于URL重写,mod_ssl用于HTTPS支持,mod_security提供额外的安全层等。你可以根据需求选择并启用这些模块,进一步扩展服务器功能。 总之,Apache安装包提供了一个快速...
首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。 Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c ...
本文实例讲述了Joomla使用Apache重写模式的方法。分享给大家供大家参考,具体如下: 开启“使用Apache的重写模式:mod_rewrite”你要先做两件事,否则你的网站将不能正常使用。 将Joomla安装目录下的htaccess.txt...
prestashop_1.6.0.9 从apache转换nginx服务器的重写规则 text.conf是apache的.htaccess转换成nginx的重写规则 将text.conf这个文件放在nginx的rewrite里 然后在nginx的配置文件中include进来就可以了. 有什么...