1、.htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的作用...所有的访问都是通过URL实现,所以.htaccess的作用非同小可。...正因为此,所以一般地网站通过设置.htaccess,通过一个十分友好的url吸引用户进来,然后用.htaccess把用户带到需要访问的位置。...fid=$1&page=$2 首先加入用户通过 nbphp.com/forum-2-3.html 访问discuz论坛,那么先通过.htaccess过滤,看看是否需要.htaccess引导一下用户,如果满足列出的一系列...%{REQUEST_URI} !
Apache Web 服务器可以通过 .htaccess 文件来操作各种信息,这是一个目录级配置文件的默认名称,允许去中央化的 Web 服务器配置管理。可用来重写服务器的全局配置。...该文件的目的就是为了允许单独目录的访问控制配置,例如密码和内容访问。 下面是 21 个非常有用的 .htaccess 配置的提示和技巧: 1....控制访问文件和目录的级别 .htaccess 经常用来限制和拒绝访问某个文件和目录,例如我们有一个 includes 文件夹,这里存放一些脚本,我们不希望用户直接访问这个文件夹,那么通过下面的脚本可以实现...deny from all 上述脚本是拒绝所有的访问,你也可以根据IP段来拒绝: # no nasty crackers in here!...通过 .htaccess 实现缓存策略 通过设置在浏览器上缓存静态文件可以提升网站的性能: # year <FilesMatch "\.
^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 含义是这样的:为了让用户访问传统的http://转到...https://上来,用了一下rewrite规则: 第一句:启动rewrite引擎 第三句:rewrite的条件是访问的服务器端口不是443端口 第四句:这是正则表达式,^是开头,$是结束,/?...HTTP 80 强制转 HTTPS 全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则 在相应的网站根目录新建 .htaccess 例如,在士博博客的网站根目录下...如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。...*/foo-with-gif\.html$ RewriteRule ^inlined-in-foo\.gif$ - [F] 拒绝某些主机访问 RewriteEngine on RewriteMap
测试环境:景安免费虚拟主机 测试站点数目:3个子站点 子站点程序:一个前端项目+2个php完整项目 .htaccess伪静态规则文件: # 绑定vip.cncat.cn 到子目录vip ...RewriteCond %{HTTP_HOST} ^vip\.cncat\.cn$ [NC] RewriteCond %{REQUEST_URI} !...video.cncat.cn 到子目录video RewriteCond %{HTTP_HOST} ^video\.cncat\.cn$ [NC] RewriteCond %{REQUEST_URI...RewriteCond和一条RewriteRule 解释下新增的RewriteCond和RewriteRule RewriteCond %{HTTP_HOST} ^video.cncat.cn$ [NC] 使用正则表达式运行域名为...video.cncat.cn; RewriteRule ^$ /video/ 访问为/video/目录的文件 这样只需要在根目录下新建.htaccess文件就ok,子文件夹下无需再次存放对于的伪静态规则文件
伪静态实际上是利用PHP把当前地址解析成另一种方法来访问网站,要学伪静态规则的写法,要懂一点正则 一、正则表达式教程 有一个经典的教程:正则表达式30分钟入门教程 常用正则如下: ....fid=$1&page=$2 首先加入用户通过 linuxidc.com/forum-2-3.html 访问discuz论坛,那么先通过.htaccess过滤,看看是否需要.htaccess引导一下用户...所以开始进行转写, forum-2-3.html 这个正好符合 列出的 ^forum-([0-9]+)-([0-9]+)\.html$ 正则表达式。...二、常见的.htaccess应用举例(部分例子引自四个例子实战讲解.htaccess文件rewrite规则) 4.1 防止盗链,如果来得要访问jpe jpg bmp png结尾的url 用户不是来自我们的网站...%{REQUEST_URI} !
再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。...建立.htaccess 文件 建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。...id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,$表示结束标志,表示以数字结束!...action=$1&id=$2 在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?...^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
这个在网站比较小的情况下看不出来,但是当网站结构复杂的时候,我们就需要对访问进来的域名进行分类处理了,比如构建二级域名、设置301重定向、404禁止访问的显示界面,设置权限、防止盗链等一系列工作,都需要有...位置 理论上讲,.htaccess应该存在于站点能访问到的所有文件夹下,但是这样显然可能造成性能和安全上的问题。...那么我是不是也可以把这个名字改一下呢~~ 而且,为了保证这个文件不被非法访问到,他也预先设置了禁止访问的权限~~想的也是挺周到的。...xxx\.com$ [NC] #过滤主机名符合后面正则表达式的网址,满足后执行下一步。NC表示忽略大小写。 RewriteCond %{REQUEST_URI} !...^/blog/ #过滤URI满足正则表达是的地址,满足后执行下一步。 RewriteCond %{REQUEST_FILENAME} !
如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。...基于目录级的(.htaccess),要注意一点那就是必须打开此目录的FollowSymLinks属性且在.htaccess里要声明RewriteEngine on。...7.将.html后缀名转换成.php前提是.html文件能继续访问的情况下,更新你的网站链接。 RewriteRule ^/?...实现以上功能,诀窍就在于在查询变量中加了一个访问者看不到的标记符“marker”。...我们只将查询变量中没有出现“marker”标记的链接进行重定向,然后将原有的链接替换成新的格式,并且通过[QSA]FLAG在已有的参数加一个“marker”标记。
这里收集的是各种实用的 .htaccess 代码片段,你能想到的用法几乎全在这里。...免责声明: 虽然将这些代码片段直接拷贝到你的 .htaccess 文件里,绝大多数情况下都是好用的,但也有极个别情况需要你修改某些地方才行。风险自负。...目录别名 脚本别名 重定向整个网站 干净的URL 安全 拒绝所有访问 拒绝所有访问(排除部分) 屏蔽爬虫/恶意访问 保护隐藏文件和目录 保护备份文件和源代码文件 禁止目录浏览 禁止图片盗链 禁止图片盗链...-d RewriteRule ^([^.]+)$ $1.php [NC,L] Source Security 拒绝所有访问 ## Apache 2.2 Deny from all ## Apache...Thus introducing… 拒绝所有访问(排除部分) ## Apache 2.2 Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx
也可以访问, 只要在配置文件中加入如下一行: Alias /newphp /usr/local/apache2/htdocs/php Alias只影响本地URI,不会影响URL的主机名部分 ==...CheckSpelling On ================================================= mod_rewrite模块用途: 可以重写URL请求中的文件,替换成指定的; 可以拒绝访问未被引用的请求...================================================= 禁止通过代理服务器访问特定的URL,修改配置文件: ProxyBlock .rm .ra .mp3...================================================= 想拒绝所有对目录中文件的访问,除了特殊指定扩展名的文件(比如.html文件): <Directory...通过对.htaccess文件进行设置,可以帮我们实现:网页301重定向、自定义400/403/404/500错误页面、改变文件扩展名、允许/阻止指定IP用户访问、禁止目录列表、配置默认文档等功能,可以说是功能非常强大
如果你有运行 Apache 的 Linux 服务器的 SSH root 访问权限,最好的方法是就是在域名的虚拟主机配置文件中设置转向。否则,你可以在域名的.htaccess文件中配置转向。....*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] HTTP_HOST 是浏览者在访问网站时,请求的域名。这个变量代表你的域名。...REQUEST_URI 是你访问页面的 URI。...二、将所有 HTTP 转向到 HTTPS 并且 WWW 转向到 Non-WWW 任何网站都可以通过两个 URL 进行访问:带 www 前缀的(例如: www.example.com)和不带 www 前缀的...如果你可以访问 Apache 配置文件,为了更好的性能,你可以直接在域名的虚拟主机配置中通过创建一个301转向,来强制使用 HTTPS。
nginx 配置中可以出现的变量,同时也可以通过 set 指令创建变量。 可以通过第三方模块 echo-nginx-module 查看配置中 相应变量的值。...请求中的当前URI(不带请求参数,参数位于$args),不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,如 /foo/bar.html proxy_add_x_forwarded_for...= 比较一个变量和字符串是否相等 ~、~* 使用正则表达式匹配变量 -f、!-f 检查一个文件是否存在 -d、!-d 检查一个目录是否存在 -e、!-e 检查一个文件、目录、符号链接是否存在 -x、!...return code; return URL; 3.6. rewrite 指令 rewrite regex replacement [flag]; 如果一个URI匹配指定的正则表达式regex,URI...防止 sql 注入 通过判断 URI 中是否有 ’、;、>、< 等字符可以快速过滤掉可能发生 SQL 注入的请求,然后直接返回 404 Not Found。
文件系统容器 和指令与其相应的正则表达式版本(和)一起作用于文件系统的特定部分。配置段中的指令作用于指定的文件系统目录及其所有子目录,.htaccess文件可以达到同样的效果。...下例中的配置指令如果出现在配置文件的主服务器段,则会拒绝对位于任何目录下的private.html的访问。...等任何 /var/web/dir1/ 目录下private.html的访问。...Files private.html> Order allow,deny Deny from all 网络空间容器 指令与其相应的正则表达式版本...下例中的配置会拒绝对任何 以"/private"开头的URL路径的访问,比如:http://yoursite.example.com/private、http: //yoursite.example.com
Rewrite [L,QSA] #可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了 完成上面的步骤你的子域名应该可以访问了 但你会发现在浏览器上访问...主域名+绑定的域名目录 也可以访问,可这并不是我们想要的 接下来我们完成最后一步;在每一个绑定的目录中 如blog目录中 也增加一个 .htaccess 文件 .htaccess代码如下: <IfModule...Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?...自动 访问服务器跟目录下的wwwroot/blog 访问bbs.uacool.com 自动 访问服务器根目录下的wwwroot/bbs 等等N多个二级域名访问同一个虚拟主机空间功能(非跳转)...实现方法: 用.htaccess文件来实现,把写好的.htacess文件放到服务器的根目录下,比如 wwwroot/.htaccess .htaccess文件内容如下:
利用.htaccess绑定域名到子目录,前提你的空间服务器必须支持apache的rewrite功能,只有这样才能使用.htaccess。如果你的空间是Linux服务器 一般默认都开启了的。...Rewrite [L,QSA] #可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了 如果你以完成上面的步骤 你的子域名应该可以访问了, 但你会发现在浏览器上访问...主域名+绑定的域名目录 也可以访问,可这并不是我们想要的 接下来我们完成最后一步, 在每一个绑定的目录中 如link目录中 也增加一个 .htaccess 文件 ....Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?...Rewrite [L,QSA] 结语: 由于我的服务器本身就支持子域名绑定到子目录,所以自个没法测试,不过我让朋友在阿里云的主机测试通过了,不过阿里云限制了数量,多绑定的话看会跳到根目录
Rewrite [L,QSA] #可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了 如果你以完成上面的步骤 你的子域名应该可以访问了, 但你会发现在浏览器上访问...主域名+绑定的域名目录 也可以访问,可这并不是我们想要的 接下来我们完成最后一步, 在每一个绑定的目录中 如link目录中 也增加一个 .htaccess 文件 ....htaccess代码如下: RewriteEngine On RewriteBase / #只许绑定的域名访问 RewriteCond...Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?...Rewrite [L,QSA] 结语: 由于我的服务器本身就支持子域名绑定到子目录,所以自个没法测试,不过我让朋友在阿里云的主机测试通过了,不过阿里云限制了数量,多绑定的话看会跳到根目录
当然是完全ok的,最简单的是创建不同的目录,在根目录下创建wp和em存放WordPress博客和emlog博客,然后通过域名/子目录名访问,当然这不是我们今天来分享的方法,当然这样未免太low! ...今天介绍的方法我们通过访问不同的域名来访问不同的站点!...我们就用到了.htaccess规则 首先我们新建一个.htaccess文件(当然可以在win电脑上随便起名字用TXT存放在电脑上,上传虚拟主机之后修改名字为.htaccess也是可行的) <IfModule...接下来你的每个子目录下继续放不同的.htaccess文件就可以 RewriteEngine On RewriteBase / #只许绑定的域名访问 RewriteCond...还是可以搞到,按照上述的.htaccess规则在根目录和子目录对应存放确实不行,我尝试把虚拟主机的伪静态打开,测试ok!收费不存在的!完美解决一个虚拟主机多占点访问问题!
拒绝来自某个IP的访问 如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。...例如: order allow,deny deny from 210.10.56.32 deny from 219.5.45. allow from all 第二行拒绝某个IP,第三行拒绝某个IP...保护.htaccess文档 在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。...这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。...如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。
server_name blog.javabs.cn; location / { index index.jsp; #Tomcat访问地址...location /solr { #类似虚拟目录 指向一个具体项目 proxy_pass http://127.0.0.1:8180$request_uri...local/nginx/logs/javabs.cn.access.log main;#日志 } location ~ /\.ht { deny all;#拒绝访问...htaccess文件 } }
通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能,这里说一下平常简单配置...为了让你的网站更安全,你可以通过 htaccess 文件来禁用这个功能: Options All -Indexes 显示个性化的 404 错误页面 当用户访问了一个不存在的页面的时候,网页服务器会显示...,你可以很容易的通过 .htaccess 实现: DirectoryIndex about.html 基于 referer 来限制网站访问 站长通常不会限制网站访问,但是当你发现有一些网站尽给你带来垃圾流量的话...set Cache-Control "max-age=2592000" 添加尾部的反斜杠 我并不确定,但是很多文章,很多人都说添加尾部反斜杠有益于 SEO: RewriteCond %{REQUEST_URI...} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L] 沈唁志|一个PHPer的成长之路!
领取专属 10元无门槛券
手把手带您无忧上云