首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RewriteCond和13个mod_rewrite应用举例Apache伪静态

-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .? /404.php [L] 这里-f匹配的是存在文件名,-d匹配的存在路径名。...这段代码进行404重定向之前,会判断你的文件名以及路径是否存在。你还可以404页面上加一个?url= 1参数:RewriteRule/?(.∗) 1参数: RewriteRule ^/?...([a-z]+) 1.php [L] 如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换: RewriteCond %{REQUEST_FILENAME...9.检查查询变量里的特定参数 如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在RewriteCond %{QUERY_STRING} !...script_that_requires_uniquekey.php$ other_script.php [QSA,L] 以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在

3.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Apache RewriteRule 规则参数介绍

-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .? /404.php [L] 这里-f匹配的是存在文件名,-d匹配的存在路径名。...这段代码进行404重定向之前,会判断你的文件名以及路径是否存在。你还可以404页面上加一个?url=1参数: RewriteRule ^/?(.*) /404.php?...([a-z]+) 1.php [L]如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换: RewriteCond %{REQUEST_FILENAME...9.检查查询变量里的特定参数 如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在RewriteCond %{QUERY_STRING} !...script_that_requires_uniquekey\.php$ other_script.php [QSA,L] 以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在

11.7K30

Apache之Rewrite和RewriteRule规则梳理以及http强转https的配置总结(完整版)

注意:如果需要混合使用多个将URI转换到文件名的模块,就必须使用这个标记。此处混合使用mod_alias和mod_rewrite就是个典型的例子。.../404.php [L] 这里-f匹配的是存在文件名,-d匹配的存在路径名。这段代码进行404重定向之前,会判断你的文件名以及路径是否存在。你还可以404页面上加一个?...([a-z]+)$ $1.php [L] 如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换 RewriteCond %{REQUEST_FILENAME...9) 检查查询变量里的特定参数 如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在 RewriteCond %{QUERY_STRING} !...script_that_requires_uniquekey\.php$ other_script.php [QSA,L] 以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在

30.3K51

如何使用 .htaccess 强制访问 HTTPS

Apache 服务器每页请求,读取.htaccess文件,这将会减慢网络服务器的响应速度。 大部分控制面板,例如 cPanel允许你图形用户界面强制使用 HTTPS 转向。...这个文件被用来定义,Apache 如果从它所处的目录处理文件,并且启用/禁用其他特性。 通常,.htaccess文件域名根目录,但是你可以子目录定义其他的.htaccess文件。...RewriteCond %{HTTPS} off - 检查 HTTP 请求类型的连接。当条件满足,执行下一行。我们仅仅想转向 HTTP 请求。如果你忽略这个条件,你将得到一个转向的死循环。...://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] HTTP_HOST 是浏览者访问网站,请求的域名。...第一个检查连接是否是 HTTPS 的,并且第二个检查请求是否以 www 开头。如果其中一个条件为 true ([OR] 运算符),将会执行重写规则。

3.6K20

Apache的htaccess文件格式简析

下面是RewriteCond的一些参数: 参数 含义 解释 -d 目录 将TestString视为一个路径名并测试它是否为一个存在的目录。...-f 常规文件 将TestString视为一个路径名并测试它是否为一个存在的常规文件。 -s 非空的常规文件 将TestString视为一个路径名并测试它是否为一个存在的、尺寸大于0的常规文件。...-l 符号连接 将TestString视为一个路径名并测试它是否为一个存在的符号连接。 -x 可执行 将TestString视为一个路径名并测试它是否为一个存在的、具有可执行权限的文件。...-F 对子请求存在文件 检查TestString是否为一个有效的文件,而且可以服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查,由于会降低服务器的性能,所以请谨慎使用!...-U 对子请求存在的URL 检查TestString是否为一个有效的URL,而且可以服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查,由于会降低服务器的性能,所以请谨慎使用

2.1K51

Apache RewriteCond 规则参数介绍

REQUEST_URI 这是HTTP请求行中所请求的资源(比如上述例子的”/index.html”)。 REQUEST_FILENAME 这是与请求相匹配的完整的本地文件系统的文件路径名。...“-f “————-(常规文件) 将TestString视为一个路径名并测试它是否为一个存在的常规文件。...“-s “————-(非空的常规文件) 将TestString视为一个路径名并测试它是否为一个存在的、尺寸大于0的常规文件。...“-F “————-(对子请求存在文件) 检查TestString是否为一个有效的文件,而且可以服务器当前的访问控制配置下被访问。...“-U “————-(对子请求存在的URL) 检查TestString是否为一个有效的URL,而且可以服务器当前的访问控制配置下被访问。

4.3K30

PHP扩展模块、Apache之rewrite模块

测试条件: -f文件存在; -d目录存在; -l是链接文件(symbol link); -s文件大小非0 rewrite rule的参数: RewriteCond指令格式 语法: RewriteCond...如果你不能确定,可以检查“httpd -l”的输出是否有mod_proxy.c。...举例,使用它可以重写根路径的URL(‘/’)为实际存在的URL, 比如, ‘/e/www/’。 ‘next|N’ (重新执行 next round) 重新执行重写操作(从第一个规则重新开始)。...注意: 如果需要混合使用不同的包含URI到文件名翻译器的模块, 就必须使用这个标记。混合使用mod_ alias和mod_rewrite就是个典型的例子。...虽然最后加了 [L] 依然不管用,可能apache还是不够智能,一直满足条件就一直去匹配,一直去跳转。最后没招了只能再加一个条件。 RewriteCond %{REQUEST_URI} !

2.2K30

网站启用SSL自动301跳转到HTTPS教程

服务器搭建之后就一直使用宝塔,先抛出安全性能之外,宝塔真的是不错啦,我之前用过许多的控制面板(没办法,技术能力有限,只能用带控制面板的)最好发现还是宝塔比较符合大众的操作习惯,当然收费的amh我也用过...Apache自动跳转到 HTTPS 打开网站根目录 .htaccess文件(如果不存在则新建) RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule...=on [OR] RewriteCond %{SERVER_PORT} 80 # 某些页面强制 RewriteCond %{REQUEST_URI} ^something_secure [OR] RewriteCond...# 强制HTTP RewriteCond %{HTTPS} =on [OR] RewriteCond %{SERVER_PORT} 443 # 某些页面强制 RewriteCond %{REQUEST_URI...,那么删除相同的代码即可,然后保存,查看是否跳转成功,未成功的可以留言给我,一起研究一起学习。

1.3K30

Confluence 6 使用 Apache 和 mod_proxy 的基本配置

设置你 Tomcat Confluence 上下文的路径主机名和端口的后面)。在这个示例,上下文路径被配置为 /confluence。...请注意,你不能使用 /resources 为你的上下文路径,这是因为这个上下文的路径 Confluence 中被用来定义资源,如果你使用这个配置的话,将会在 Confluence 中导致问题。... conf/server.xml 文件使用示例的连接器为你的起始点。 注释掉默认的连接器(针对不使用代理的访问)。  显示如何进行配置.....在这个示例,用户将会连接到 Synchrony,这个是针对协同编辑所使用的服务,是通过 WebSockets 直连的。 ?  配置文件的配置顺序是非常重要的。...在这个示例,用户将会连接到 Synchrony,这个是针对协同编辑所使用的服务,是通过 WebSockets 直连的。 ?  配置文件的配置顺序是非常重要的。

74620

Apache深度优化

-a:此选项是自动增加一个LoadModule 行到 httpd.conf 文件,以启用此模块,或者,如果此行已经存在,则启用它。...安装完成后,默认是启用了这两个模块的,但是检查apache的主配置文件,可能会报错,如下: ?...刚才yum安装zlib,它默认安装在了/usr/lib64目录下,所以apache主配置文件 LoadModule deflate_module modules/mod_deflate.so...apache的主配置文件的末尾写入以下内容(添加代码前最好先确定以下代码是否存在): <!...cronolog 如果日志是放在某个不存在路径则会自动创建目录,而使用 rotatelogs 不能自动创建,这一点要特别注意 六、配置防盗链 有时候,你的网站莫名其妙的访问量变大,不要高兴的太早

62430

Apache的URL地址重写(RewriteCond与RewriteRule)

o        ‘-d’ (是否为目录) 将testString当作一个目录名,检查是否存在以及是否是一个目录. ...o        ‘-f’ (是否是regular file) 将testString当作一个文件名,检查是否存在以及是否是一个regular文件. ...o        ‘-s’ (是否为长度不为0的regular文件) 将testString当作一个文件名,检查是否存在以及是否是一个长度大于0的regular文件 o        ‘-l’ (是否为...symbolic link) 将testString当作一个文件名,检查是否存在以及是否是一个 symbolic link. ...o        ‘-F’ (通过subrequest来检查文件是否可访问) 检查TestString是否是一个合法的文件,而且通过服务器范围内的当前设置的访问控制进行访问。

2.2K10

Apache优化——日志管理 原

说明: 将所有访问图片的请求定义为变量img,访问记录(日志)中将其排除即可。重新加载后使用curl访问img变量中所指定格式的文件内容将不会产生访问记录。  ...即 %V  这里是大写的V ,小写的v 记录的是咱们虚拟主机设置的ServerName ,这个的确是没有必要记录的。...方法:   httpd.conf 或者 相关的虚拟主机配置文件添加:   SetEnvIf Request_URI "^/aaa/.*" aaa-request   CustomLog "|/usr...注意:一个改变GMT偏移量(比如夏令)的环境中使用-l会导致不可预料的结果。所以一定要加上-l 否则出现的日志时间和实际时间是相差8小的。  .../bin/apachectl -t Syntax OK [root@adailinux 111.com]# /usr/local/apache2.4/bin/apachectl graceful 检查模块是否开启

59430

Apache 强制 HTTP 全部跳转到 HTTPS

米扑博客最新写了一篇博客《Apache 强制 HTTP 全部跳转到 HTTPS》,分享出来 更多经典技术博客,请见我的米扑博客:https://blog.mimvp.com .htaccess 每一层独立服务根目录下都存在...=on [OR] RewriteCond %{SERVER_PORT} 80 # 某些页面强制 RewriteCond %{REQUEST_URI} ^something_secure [OR] RewriteCond...# 强制HTTP RewriteCond %{HTTPS} =on [OR] RewriteCond %{SERVER_PORT} 443 # 某些页面强制 RewriteCond %{REQUEST_URI...}%{REQUEST_URI} [R=301,L] Apache mod_rewrite实现HTTP和HTTPS重定向跳转 当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求...这时候你可以用以下的方式来做到:(Apache mod_rewrite) 把这段代码放在.htaccess文件,即可实现HTTP到HTTPS的重定向。

3.5K101
领券