.htaccess中Apache配置详解

1.<IfDefine> 指令

说明 封装一组只有在启动时当测试结果为真时才生效的指令

语法 <IfDefine [!]parameter-name> ... </IfDefine>

作用域 server config, virtual host, directory, .htaccess 

1.2 <IFModule mod_rewrite.c> </IFModule>

说明 封装指令并根据指定的模块是否启用为条件而决定是否进行处理 

语法 <IfModule [!]module-file|module-identifier> ... </IfModule> 
作用域 server config, virtual host, directory, .htaccess 
覆盖项 All 

2.在Apache配置文件Apache\conf/httpd.conf中,设置

<Directory />
  Options +Indexes +FollowSymLinks +ExecCGI
  AllowOverride All  #这里设置为all,none为禁止.htaccess
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

3.创建.htaccess文件

<IFModule mod_rewrite.c>

#开启URL重写

RewriteEngine On

#请求内容不是目录

RewriteCond %{REQUEST_FILENAME} !-d

#请求内容不是文件

RewriteCond %{REQUEST_FILENAME} !f

#重写URL规则

RewriteRule ^(.*)$ index.php \/$1 [L]  #L:立即停止重写操作,并不再应用其他重写规则

</IFModule>

4.相关概念

RewriteCond下:

[NC] 不分字母大小写

[OR] 用于连接下一条规则  
RewriteRule下: 
 [R] 强制重定向,[R=code] code默认为302

[F] 禁用URL,返回HTTP 403 错误

[L] 这是最后一条规则,之后内容无用

时间: 2024-12-17 16:42:42

.htaccess中Apache配置详解的相关文章

springmvc在web.xml中的配置详解

                          <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-

apache配置详解与实践

1.配置文件说明 1.1 主配置文件目录 vi /etc/httpd/conf/httpd.conf 1.2 配置文件格式 # directive 指令 value 值 ServerRoot "/etc/httpd" ServerRoot 代表apache服务的根路径,一般不修改. 2.配置项详解 2.1 ServerRoot 服务所在目录的路径,不需要做修改 ServerRoot "/etc/httpd" 2.2 Listen 监听端口 #Listen 12.34

Apache配置详解

Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置.其它指定的目录如果没有指定绝对路径,则目录是相对于该目录. PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置. Listen 80 #服务器监听的端口号

CentOS Apache配置详解

要想在linux上实现网页服务器(www)需要Apache这个服务器软件,不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是要PHP与MySQL的支持,所以下面我们将会以LAMP(linux+Apache+MySQL+PHP)作为安装与设置的介绍. LAMP所需软件与其结构httpd mysql mysql-Server php php-devel php-mysql可以用rpm包安装,或者直接用yum安装#yum install httpd mysql-serve

CentOS7中网络配置详解

一.前言 本来准备写一些网络配置工具的使用,后来想了想(其实还是为了偷懒),网上关于nmcli工具的使用文章不多,所以写一下CentOS7中的nmcli工具的简单使用和CentOS7中一些网络属性配置的相关变化. 二.CentOS7网络方面的变化 很多朋友刚接触到CentOS7的时候最不习惯的就是它的网卡命名方式了,不过不习惯终究还是得去了解它,毕竟一个运维人员要时刻保持先进性,我们一起来了解CentOS7中网卡的命名方式吧! 网卡命名机制 如果 Firmware或BIOS主板上集成设备的索引信

linux系统中网卡配置详解

文件:/etc/sysconfig/network-scripts/ifcfg-eth0 以下各值常见于所有的基本配置文件中: * DEVICE=name,这里name是物理设备的名字(动态分配的PPP设备应当除外, 它的名字是“逻辑名”. * IPADDR=addr, 这里addr是IP地址. * NETMASK=mask, 这里mask是网络掩码. * NETWORK=addr, 这里addr是网络地址. * BROADCAST=addr, 这里addr是广播地址. * GATEWAY=ad

【转】Apache 的 httpd.conf 配置详解

Apache 的 httpd.conf 配置详解 原文链接 http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run

Apache中https的详解及应用案例

Apache中https的详解及应用案例 一.https的简介 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版. 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层.(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信.)S

Apache + Tomcat集群配置详解 (1)

一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件 注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用. 二.软件安装 把Apache安装为运