服务器.htaccess文件的说明及简单应用

文章开始先说明一下,本文只是对.htaccess文件的一个简单认识及应用,够大家日常使用,如果大家想深入探讨的话,请参考其他资料。

.htaccess是什么

概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

使用规则

一般我们将.htaccess文件放置在网站的根目录,控制所在目录及所有子目录,而如果放置在子目录中,会受上级目录中.htaccess文件影响,是不起任何作用的。

疑难解答

如果在.htaccess文件中的某些指令不起作用,可能有多种原因。
最常见的原因是AllowOverride指令没有被正确设置,必须确保没有对此文件区域设置 AllowOverride None 。有一个很好的测试方法,就是在.htaccess文件随便增加点无意义的垃圾内容,如果服务器没有返回了一个错误消息,那么几乎可以断定设置了 AllowOverride None 。
在访问文档时,如果收到服务器的出错消息,应该检查Apache的错误日志,可以知道.htaccess文件中哪些指令是不允许使用的,也可能会发现需要纠正的语法错误。

下面是几个常用例子

1.自定义错误页面

ErrorDocument 404 /error-pages/not-found.html
ErrorDocument 503 /error-pages/service-unavailable.html

2.ip禁止

Order allow,deny
Deny from 123.45.67.8
Deny from 123.123.7
Allow from all

3.更改默认首页

DirectoryIndex homepage.html

4.页面跳转

Redirect page1.html page2.html

php中定界符的使用<<<

在php编程过程中,有时难免会输出或者包含大量html和javascript的情况,如果用传统的方法,需要大量转义字符,很容易出现错误造成麻烦,这时候使用定界符就很容易解决。

定界符的作用:

1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;

2.在PHP定界符中的任何特殊字符都不需要转义;

3.PHP定界符中的PHP变量会被正常的用其值来替换。

像下面这种样子

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$str=<<<Eof
 <!DOCTYPE html>
 <html>
 <head>
 <title></title>
 </head>
 <body>
  测试文本
 </body>
 </html>
Eof;
?>

看起来很贱,但也需要有些地方注意一下:

1.在<<<之后的字符Eof是自己定义的,随便什么都是可以的,但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的;

2.结尾的一行(如上例的Eof;),一定要另起 一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到 一个这样的错误信息:Parse error: parse error, unexpected $end in……,提示你语法错误;

3.如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了.

常用技巧:CSS样式中,文字对不齐的解决办法

大家可能在写css样式时,有时会遇到许多莫名其妙的问题。

最近在写一个页面时,遇到一个问题,准确来说是忽略了一个问题。如下:

代码:

1
2
3
4
5
6
7
 <style type="text/css">
 div{width: 200px; height: 300px; border: 1px solid red;}
 </style>
 <body>
 <div>
 宜兴遭遇17年来最大水灾 一14岁女孩家门口被水冲走至今下落不明】网友爆料:7月2日中午,宜兴新街派出所接到报警,在新街铜山板栗园,一名14岁的小女孩站在家门口(涧滩)旁边被水冲走,当时雨非常大,小女孩往前跨了一步,奶奶未能及时拉住。随后记者从宜兴市消防证实了此事。
 </div>

效果:

QQ截图20160703155042

相信大家也看出来了,右边总是对不齐,后来找个半天,终于找到解决办法,只要给div加上这俩个属性即可text-align:justify; text-justify:inter-ideograph;,这俩个属性的大概意思是:

text-align:justify;实现两端对齐文本效果。  text-justify:inter-ideograph;用表意文本来排齐内容。

好了,大家去尝试尝试吧。

 

MySQL 统计数据行数 Select Count

统计数据行数

SELECT COUNT() FROM 语法用于从数据表中统计数据行数。

语法:

1
SELECT COUNT(column) FROM tb_name

该 SQL 语法用于统计某一字段的数据行数,COUNT() 内不能是多个字段,但可以是 * 号。

例子:

1
2
3
4
5
6
7
8
9
10
11
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
    die("连接数据库失败:" . mysql_error());
}
 
mysql_select_db("test", $conn);
$sql = "SELECT COUNT(uid) FROM user";
$row = mysql_fetch_array( mysql_query($sql) );
echo "共有用户: ",$row[0]," 位";
?>

浏览器显示:

共有用户: 4 位

说明

尽管 count() 中的参数可以是某个字段名,但如果只是想统计表中的数据记录数目,从效率上考虑建议统计主键 count(id) 或直接使用 count(*) ,另外尽量避免使用列数据属性为字符类的。

MySQL查询两个日期之间的记录

MySQL中,如何查询两个日期之间的记录呢,其实很简单,日期所在字段的类型为datetime或者是字符串的,经测试都可以用下面的这种查询

1.直接使用><=就可以查询。

1
where createDate&lt;'2016-06-30' and createDate&gt;'2016-07-01';

2.比较规范美好的写法.

1
WHERE LogTime BETWEEN '2016-06-30' AND '2016-07-01'