Ubuntu下启动Apache对.htaccess 的支持

星期二, 12. 22. 2009  –  Category: Linux-Server

步骤:
1. 终端运行
sudo a2enmod
程序提示可供激活的模块名称,输入:
rewrite
2. 修改/etc/apache2/sites-enabled/000-default (该链接指向的是站点配置文件)
把(默认的www目录、或者需要应用.htaccess的目录)下的AllowOverride 属性改为All,保存。
3. 重新加载apache
[...]

使用.htaccess自动在url末尾添加斜杠“/”

星期一, 06. 15. 2009  –  Category: Linux-Server

  一般而言,url在末尾处是不是加上斜杠“/”,对用户访问是没有太大影响的,大多数的Web 服务器均能正确解析:当Web服务器接收到对某个末尾不含斜杠的url请求时,如“http://www.yaoyingying.org/about”,其首先假定在网站根目录下存在一个名为“about”的文件,至于具体的文件格式则取决于web服务器的具体设置,根据设置不同可以是html或其他任何格式如 php,如果当在相应目录下找不到该文件,主流的Web服务器如apache或IIS便自动将其作为目录处理,在上述例子中即在根目录下查找名为 “about”的目录,如果存在这个目录,则向客户端浏览器返回这个目录的默认文档;而对以斜框“/”结尾的url,web服务器则直接将其按目录处理。
  这一过程由Web服务器自动处理,用户基本上感觉不到——当然,也不排除在极端情况下web服务器不能正确解析而返回“Page Not Found” 404 错误——正因为此,许多网站在建设中往往忽略网址中的斜杠问题,在撰写url时比较随意,部分url在末尾处加了斜杠而另外部分则未加斜框,等等。应该说,这是个很不好的习惯。
  另一方面,即使网站建设者在自己的网站内能够规范地撰写url,即对除针对文件外的网址均在url末尾处加上斜杠,但同样也存在一个问题:别的网站创建的链接未必在末尾处包含斜杠,这同样会带来问题。
  因此,理想的解决办法便是让web服务器能够自动为末尾没有斜杠的url添加“/”。
url末尾处加上斜杠“/”能够有效的避免Duplicate Content
  从SEO(搜索引擎优化)的角度,网站内出现过多的重复内容(Duplicate Content)是一大忌。简单地说,所谓重复内容(Duplicate Content),是指同样的内容、页面可通过多个不同的url访问,这往往会给搜索引擎收录、排名网页时带来困扰。
  很多朋友在进行SEO时一般比较关注域名中含“www”与不含“www”的问题,即类似于 “http://www.yaoyingying.com”、“http://yaoyingying.com”造成的重复内容问题,却容易忽略url末尾的斜框可能带来的重复内容。事实上,这也是极易带来重复内容的主要因素,比如说,虽然在浏览器中,“http://yaoyingying.com/about/”与 “http://yaoyingying.com/about”虽然都链接至我们的“关于”页,但对搜索引擎而言,这是两个完全不同的的网址,这样的两个网址指向同一个页面情况正是标准的Duplicate Content。
在url末尾处加上斜杠“/”能够提高web服务器的效率
  从本文开头所介绍的web服务器解析url的机制可以很明显地看出,当url指向目录而末尾没有斜杠“/”时,web服务器需首先进行一个查找有无同名文件的过程,这无疑会加重Web Server的压力,而以斜框结尾的url则可省略这一过程。
  当然,web服务器的性能取决于很多因素,仅仅这样做,即在url末尾添加斜杠,对服务器性能的提升影响很小。但如果您的网站访问量相当大,积少成多,带来的好处也是很可观的。
在Apache中自动将末尾没有斜杠的url以301重定向至正确地址
  要避免网站在搜索引擎中出现重复内容,最简单的解决办法便是将不同的url以301重定向至一个标准的url上,这样,才能最大限度地挖掘链接的价值,特别是来之不易的外部网站链接。
  Apache由于支持mod_rewrite功能,在.htaccess中进行简单设置即可实现这一点,即将没有以斜框“/”结尾的url永久重定向至以“/”结尾的网址。——至于IIS,要实现类似功能,似乎并没有太简单的方式。
  下面即为实现这一功能的.htaccess代码:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://yaoyingying.com/$1/ [L,R=301]

  说明:
* RewriteCond %{REQUEST_FILENAME} !-f : 指定操作仅针对目录,对指向文件的url不进行rewrite操作;
[...]

htaccess 的一点用法

星期五, 06. 12. 2009  –  Category: Linux-Server

LAMP 环境里可以很容易的通过 .HTACCESS 进行一些网站的设置
网站引索:

DirectoryIndex index.php index.htm index.html

域名重定向,将yaoyingying.com 重定向到 www.yaoyingying.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yaoyingying\.com$ [NC]
RewriteRule ^(.*)$ http://www.yaoyingying.com/$1 [R=301,L]

下面这些对静态页网站的 URL 优化就有很大帮组了,取好每个页面文件的名字,通过 下面的规则进行目录结构式优化。

RewriteRule ^([a-z]+)\/([a-z0-9]+)-([a-z0-9]+)\/$ $1_$2-$3.php [QSA,L]
RewriteRule ^([a-z]+)\/([a-z]+)-([a-z]+)\/$ $1_$2-$3.php [QSA,L]
RewriteRule ^([a-z]+)\/([a-z]+)-([a-z]+)-([a-z]+)\/$ [...]

Apache 通过 .htaccess 对目录加密

星期一, 06. 1. 2009  –  Category: Linux-Server

例如有/home/www/website/dir1 目录,需要对/dir1/加密访问,必须输入口令密码才能访问。
在这种情况下,要是/dir1/加密可以通过 .htaccess 和 .htpasswd 的设置来实现
在/home/www/website/dir1下建立.htaccess文件
vi /home/test1/a/.htaccess
文件内容如下
AuthName “===LOGIN===”   #随便填写
AuthType Basic
AuthUserFile /home/www/website/dir1/.htpasswd
Require valid-user username
保存退出
账号生成口令
htpasswd -c /home/test1/a/.htpasswd username 系统会要求输入两遍该用户的密码。
修改密码也是同样 htpasswd -c /home/test1/a/.htpasswd username


关于站长

姚迎迎,生于 1985年3月2日, 江苏大丰人士 。修行于福州大学软件学院

Google AD

最近文章

标签云

ajax Apache apt-get CSS Debian dedecms error firefox HeidiSQL htaccess html IE6 javascript jQuery lamp linux mod_rewrite mysql mysql5 MySQL Front php phplist phpmyadmin postfix thinkphp Ubuntu ubuntu server wordpress 京腔 代码 十年 年轻的时候很傻很天真 悉尼歌剧院 数据库 新贵妃醉酒 李玉刚 歌词 歌词翻译 盛世霓裳 示例 翻译 芳华绝代 视频 贵妃醉酒 音乐

Google 广告