多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。 此模块可以操作URL的所有部分(包括路径信息部分),在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效,还可以生成最终请求字符串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向,甚至还可以是内部代理处理。 #### RewriteCond 的规则以及参数说明。 RewriteCond指令定义了规则生效的条件,即在一个RewriteRule指令之前可以有一个或多个RewriteCond指令。条件之后的重写规则仅在当前URI与Pattern匹配并且满足此处的条件(TestString能够与CondPattern匹配)时才会起作用 【说明 】定义重写发生的条件 【语法】 RewriteCond TestString CondPattern [flags] 【作用域】 server config, virtual host, directory, .htaccess 【覆盖项】 FileInfo 【状态】 扩展(E) 【模块】 mod_rewrite RewriteEngine On 开启 Apache Rewrite 模块; RewriteCond %{SCRIPT_FILENAME} !-f 如果所请求的文件未对应到相对于 Web 根目录的某个文件,则使用重写规则; RewriteCond %{SCRIPT_FILENAME} !-d 如果请求不存在的目录,则使用重写规则; RewriteRule ^/(.*)$ /index.php 如果满足上述的两个条件之一,则执行此条重写规则; RewriteCond 相当于 if 判断,加入后面的匹配规则成立,就向下执行,重写规则。