如何利用.htaccess配置 只允许网站被使用德语ie浏览器允许弹出窗口的人访问?

欢迎你来到帕兰映像!
当前位置:
& 10个神奇的.htaccess技巧(for WordPress)
1. 重定向WordPress的订阅地址
除了修改WordPress的模板文件来定制其输出的RSS Feed链接地址外,还可以使用.来进行设置(替换yourrssfeedlink为自己的Feedburner地址)。
# temp redirect wordpress content feeds to feedburner
&IfModule mod_rewrite.c&
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ /catswhocode [R=302,NC,L]
&/IfModule&
2. 去除WordPress分类链接中的“/category/”前缀
默认情况下,WordPress的分类链接显示的样式为:
/blog/category/tech
其实其中的category部分没有任何意义,如果想去掉它可以修改(替换yourblog为自己的网址)。
RewriteRule ^category/(.+)$ /$1 [R=301,L]
3. 使用浏览器缓存
可以修改让访问者使用浏览器缓存来优化其访问速度。
FileETag MTime Size
&ifmodule mod_expires.c&
&filesmatch "\.(jpg|gif|png|css|js)$"&
ExpiresActive on
ExpiresDefault "access plus 1 year"
&/filesmatch&
&/ifmodule&
4. 压缩静态数据
可以修改.htaccess文件来压缩需要访问的数据(传输后在访问端解压),从而可以减少访问流量和载入时间。
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
5. 重定向日期格式的WP Permalink链接地址为Postname格式
如果你目 前的Permalink地址为/%year%/%monthnum%/%day%/%postname%/ 的格式,那么我强烈推荐你直接使用/%postname%/ ,这样对搜索引擎要舒服得多。首先你需要在WordPress的后台设置输出的Permalinks格式为/%postname%/ 。然后修改.htaccess文件来重定向旧的链接,不然别人以前收藏你的网址都会转成404哦!(替换yourdomain为自己的网址)
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$4
6. 阻止没有referrer来源链接的垃圾评论
设置.htaccess文件可以阻止大多数无Refferrer来源的垃圾评论机器人Bot Spammer。其会查询访问你网站的来源链接,然后阻止其通过wp-comments-post.php来进行垃圾评论。
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
7. 定制访问者跳转到维护页面
当你进行网站升级,模板修改调试等操作时,最好让访问者临时 跳转到一个声明的维护页面(和404错误页面不同),来通知网站暂时无法访问,而不是留下一片空白或者什么http bad错误。(替换maintenance.html为自己定制的维护页面网址,替换123.123.123.123为自己目前的IP地址,不然你自己访 问也跳转哦)
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]
8. 设置你的WordPress防盗链
盗链是指其它网站直接使用你自己网站内的资源,从而浪费网站的流量和带宽,比如图片,上传的音乐,电影等文件。(替换mysite为自己的网址和/images/notlink.jpg为自己定制的防盗链声明图片)
RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
9. 只允许自己的IP访问wp-admin
如果你不是团队合作Blog,最好设置只有自己能够访问WP的后台。前提是你的IP不是像我一样动态的哦。(替换xx.xx.xx.xx为自己的IP地址)
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
&LIMIT GET&
order deny,allow
deny from all
allow from xx.xx.xx.xx
10. 阻止指定IP的访问
如果你想要阻止指定IP的访问,来防止其垃圾评论,那么你可以创建自己的Backlist黑名单。(替换xx.xx.xx.xx为指定的IP地址)
&Limit GET POST&
order allow,deny
deny from xx.xx.xx.xx
allow from all
&?php the_tags(__(‘Tags:’, ‘kubrick’) . ‘ ‘, ‘, ‘, ”); ?&
请教您一个问题,我使用wp2.7.1制作主题
通过修改default里面的文件。但是遇到一个问题,就是拿的函数里会
掺入’kubrick’的变量,请问我如何系统的删除他,并且在wp函数中添加中文
而不使他显示出来的是乱码!11个强化WordPress网站安全的.Htaccess设定技巧 - WP酷
当前位置: > >
  译文来自,本文参考资料为 ,原作者 Kevin Muldoon。感谢分享。  .htaccess 是一个 Apache 下的配置文件,90% 以上的国内虚拟主机都使用本教程。此配置文件可以让你可以控制该路径下的文件及文件夹,以及所有子目录。  对于许多 WordPress 使用者来说,他们第一次看到 .htaccess 文件应该是在自定他们网站的固定网址时。为了使用更美观的链结,而不是预设的链接格式(例如:.tw/sample-post/而不是 .tw/?p=123 ),我们必须将以下代码加入 .htaccess 文件:
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ – [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]# END WordPress
  如果 .htaccess 不存在,你可以自己建立一个然后将它上传。  你也必须确认你的 .htaccess 文件在服务器上可写入的,WordPress 才能将适当的代码加入你的 .htaccess 。WordPress.org 建议把文件权限设定为 644 。  .htaccess 文件不仅用于固定网址,该文件也能强化网站安全。数以百万的 WordPress 用户利用它来保护网站免于垃圾邮件发送者、黑客和其他已知的威胁。  在本文裡,我会分享一些用于 .htaccess 的代码片段,可以强化你的网站安全。相信你会找到一些对你有帮助的代码。  你可能也注意到上面固定网址的 .htaccess 代码是包覆于 #BEGIN WordPress 及 #END WordPress 裡。WordPress 可以更新这个标签裡的代码,你必须把要新增的代码片段放置于你的 .htaccess  文件的顶部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之后)。&请注意…  .htaccess 是 WordPress 裡个性倔强的文件,只要其中任何一个字符出错,文件就会出现错误。当错误发生时,它通常会影响到整个网站的运作,最重要的是你必须确保输入 .htaccess 的代码没有问题。  在开始前,备份一下你当前使用的 .htaccess 文件吧!将它保存到你电脑裡安全的位置。如果可以,也能在云端硬碟备份一份。  无论何时更新了你服务器上的 .htaccess 文件,记得回到网站重新整理一下,看看网站是不是还能正常运作。不要跳过这个步骤,因为确认网站运作正常是至关重要的一个步骤。如果你的网站给你一个空白页面,立即回復、还原 .htaccess 修改前的上个步骤。  如果你无法还原你的备份,那麼将服务器上的 .htaccess 删除,然后建立一个空白的 .htaccess 文件并将它上传。这将协助你使你的网站回復连线;当你的网站出现问题,这显然是最重要的一步。&1. 保护 .htaccess既然 .htaccess 拥有你整个网站的控制权,保护它远离不相关人士就显得很重要。以下的代码将让黑客无法存取你的 .htaccess 档,只需要透过 FTP 来修改 .htaccess 文件(或是控制台的文件管理)
order allow,denydeny from allsatisfy all
&&2. 保护 WP-Config.php另一个重要的文件是 wp-config.php。这个文件裡包含资料库的登入资讯,以及其他的系统设定。因此,明确的作法是禁止任何人访问它。
order allow,denydeny from all
&3. 保护 /Wp-Content/  wp-content 文件夹也是 WordPress 相当重要的一部分,在这个文件夹裡包含了你的佈景主题、插件、上传的媒体文件(图片、影片)及快取文件。  有鉴于此,这通常也是黑客下手的目标。当垃圾邮件发送者试图破坏你的老网站,他必须将邮件程式传到你的上传文件夹。然后使用你的服务器来寄送垃圾邮件;这麼做会使你的服务器被列入垃圾邮件名单。你可以透过创建一个独立的 .htaccess 文件来解决类似问题:
Order deny,allowDeny from allAllow from all
  你必须将 .htaccess 文件独立上传到 wp-content 主目录,例如 /wp-content/。这麼做只会允许 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上传到媒体文件夹,其餘的文件类型将被拒绝。& 4. 保护 Include-Only 文件某些文件是绝不用让使用者存取的。你可以加入以下代码,来阻挡使用者存取这些文件:
# Block the include-only files.RewriteEngine OnRewriteBase /RewriteRule ^wp-admin/includes/ – [F,L]RewriteRule !^wp-includes/ – [S=3]RewriteRule ^wp-includes/[^/] .php$ – [F,L]RewriteRule ^wp-includes/js/tinymce/langs/. .php – [F,L]RewriteRule ^wp-includes/theme-compat/ – [F,L]
& 5. 限制存取 WordPress 控制台  另一个黑客觊觎的目标是 WordPress 控制台。如果他们获取了存取该区域的权限,他们就可以在你的网站上为所欲为。  确保 WordPress 控制台更加安全,建立一个 .htaccess 文件并加入以下代码:
# Limit logins and admin by IPorder deny,allowdeny from allallow from 12.34.56.78
  请务必将 12.34.56.78 更改为你的 IP 地址(你可以在 What is My IP? 找到你的 IP Address),然后将它上传到网站的 /wp-admin/ 路径下,例如 /wp-admin/ 。  只有你能够进入 WordPress 控制台,其他人将会被阻挡在外。  其他的管理员或作者的 IP 可以加在后面,你可以在 allow from 后面加入其他 IP,不同的 IP 间使用半形逗号来区隔,例如:
allow from 12.34.56.78, 98.76.54.32, 19.82.73.64
&6. 禁止某人进入你的网站  如果你知道某个来者不善的 IP 地址,你可以使用以下的代码将它拒于网站之外。举例来说,你可以封锁某些留下垃圾留言或是尝试进入你 WordPress 控制台的使用者。
order allow,denydeny from 123.456.78.9deny from 987.654.32.1allow from all
&7. 将使用者传送到维护页面  一些维护类型的插件像是 Ultimate Maintenance Mode 和 Maintenance 相当实用,当你在维护网站或更新网站时,可以显示一个暂时的页面给使用者。不幸的是,这类插件只有在你的网站运行正常时才起得了作用。  如果你想未雨稠繆,我建议你建立一个基本的 .html 页面,将它命名为 maintenance.html 来提醒使用者目前网站遭遇一些问题,但会在短时间内恢復正常。当你的网站掛掉时,只要将以下代码加入你的 .htaccess 文件,就能将所有流量引导至维护画面。
RewriteEngine onRewriteCond REQUEST_URI} !/maintenance.html$RewriteCond REMOTE_ADDR} !^123.123.123.123RewriteRule $ /maintenance.html [R=302,L]
  在相应位置将 IP 地址更改为你自己的,以便在维护状态时不会被引导至维护页面(让你可以继续调整网站),以上代码默认使用 302 转址确保维护页面不会被搜索引擎索引。&8. 禁止浏览目录让未经授权的使用者浏览目录下的文件或文件夹是相当危险的一件事情。如要禁止访问你网站的目录,只要在你的 .htaccess 加入以下代码即可:
# disable directory browsingOptions All -Indexes
&9. 允许浏览器快照  当启动浏览器快照功能后,将允许使用者从你的网站储存元件,而无须重新下载。  它用于设计元素,例如 CSS 样式表和其它媒体内容,例如图片。这是一个实用的技巧,因为当图片上传到网站后,很少会再次更新。浏览器快取能让访客直接读取储存在他们电脑裡的图片,而不用从你的服务器下载,节省频宽、也提升了页面载入速度。  启用浏览器快照,你需要做的就是把以下代码加入 .htaccess 文件:
12345678910111213
## EXPIRES CACHING ##ExpiresActive OnExpiresByType image/jpg “access 1 year”ExpiresByType image/jpeg “access 1 year”ExpiresByType image/gif “access 1 year”ExpiresByType image/png “access 1 year”ExpiresByType text/css “access 1 month”ExpiresByType application/pdf “access 1 month”ExpiresByType text/x-javascript “access 1 month”ExpiresByType application/x-shockwave-flash “access 1 month”ExpiresByType image/x-icon “access 1 year”ExpiresDefault “access 2 days”## EXPIRES CACHING ##
&10. 重新导向一个网址  301 重新导向让你可以通知搜寻引擎该链结已经重新移到新的路径。它可以被用来重新导向一个网址、文件夹,甚至是一整个网站。因此,它常被用于网址发生变化时,例如变更网域名称、变更固定网址结构,或是变更页面名称(例如将页面名称从 my-news 变成 mygreatnews)。  要重新导向某个路径,你需要做的就是加入以下代码:
Redirect 301 /oldpage.html http:///newpage.htmlRedirect 301 /oldfolder/page2.html /folder3/page7.htmlRedirect 301 / http:///
&11. 禁止直接连接图片(防盗链)  直接连结的意思是某人直接取用你的图片链结,然后将它分享到其他网页上。这常发生在论坛上,但大多数的博客站长仍然会这麼做。盗链可能对你的网站带来负面影响。让你的流量费用增加。  你可以禁止除了你的网站外的网站直接连结图片,将以下代码加入即可。请确认将以下网址更改为你的网址。
RewriteEngine onRewriteCond HTTP_REFERER} !^$RewriteCond HTTP_REFERER} !^http(s)?://(www.)? [NC]RewriteCond HTTP_REFERER} !^http(s)?://(www.)? [NC]RewriteRule .(jpg|jpeg|png|gif)$ http:///.png [NC,R,L]
  当其他人试图从其他网址浏览你的图片时,他们将会看到指定的禁止图片,而这图片可以变更为任何你想要的图(在上面的最后一行设定图片路径)。  禁止直接连结可能导致一些 RSS 阅读器无法显示你 RSS Feed 裡的图片。  希望以上的 .htaccess 文件技巧对你有所助益。
WP酷提供免费的WordPress企业模板,淘宝客主题,博客主题等各种主题下载,并分享WordPress主题安装使用教程及模板制作的视频教程下载和实用插件。如果您喜欢,欢迎通过RSS、邮箱订阅本站,WP酷将会第一时间为您推送最新信息!
加入我们 如果您有更好的WordPress资源想发布至这里,我们非常欢迎您的加入!无论是教程、主题、插件、资讯,只需一个账号,轻松搞定。 联系我们QQ:E-Mail:miao@
其他说明本站使用BY-NC-SA 3.0协议,任何人可在保留来源链接的情况下转载本站文章(除注明不可转载外)当前访客身份:游客 [
记录我的学习和生活! 做一个好的系统管理员。
:这个不用自己写的,官方有提供了 http://wiki.ng...
:#此处输入软件名##此处输入软件名##此处输入软件...
:自己都遇上一一个tomcat的坑, tomcat的启动脚本...
:值得收藏
:转过来放在自己博客里,以方便多看看.
:我把它用在win下运维工具中还是很不错的。
:引用来自“源的开始”的评论 这么麻烦, 直接用些...
:+1, 分析的很好.
:这么麻烦, 直接用些 SSH 客户端连接 不更好. 有...
今日访问:13
昨日访问:28
本周访问:305
本月访问:612
所有访问:14179
Apache伪静态(Rewrite).htaccess文件详解
发表于2年前( 09:30)&&
阅读(166)&|&评论()
0人收藏此文章,
Htaccess(超文本访问)是一个简单的配置文件,它允许设计师,开发者和程序员通过它来改变Apache Web服务器的配置。 这些功能包括用户重定向、URL重写(url rewrite,国内很多称为伪静态)、目录密码保护。 现在我们开始——
1 建立并上传一个.htaccess文件 建立一个.htaccess文件很简单,我们使用一个类似windows的记事本或者notpad++都可以,然后把&自动换行&功能关闭,然后写入一些字后保存文件。 比如,我们可以起名为: htaccess.txt 上传到Web服务器上的相关目录的文件,然后重新命名: &.htaccess 记住.htaccess文件应当使用644权限,并以ASCII模式上传。如果.htaccess文件,那么应该联系系统管理员或托管公司,并确保他们已启用.htaccess文件。
如果想在本地Apache开启.htaccess,可按以下步骤进行: 其实只要修改一下apache目录下的httpd.conf文件,我们用文本编辑器打开后,把以下行去掉注释
LoadModule rewrite_module modules/mod_rewrite.so
然后查找:
Options FollowSymLinks&br&AllowOverride None&br&
Options FollowSymLinks&br&AllowOverride All&br&
记得修改完httpd.conf保存以后,一定要重启Apache服务器才可生效。
2|.httacces文件的配置
2.1.配置.htaccess 自定义错误页 我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错 误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。
你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:
ErrorDocument errornumber /file.html
举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面
ErrorDocument 404 /notfound.html
如果文件不在网站的根目录下,你只需要把路径设置为: ErrorDocument 500 /errorpages/500.html 以下是一些最常用的错误: 常用的客户端请求错误返回代码:
400 - Bad request 错误请求 401 Authorization Required需要验证 403 Forbidden禁止 404 Not Found找不到页面 405 Method Not Allowed 408 Request Timed Out 411 Content Length Required 412 Precondition Failed 413 Request Entity Too Long 414 Request URI Too Long 415 Unsupported Media Type
常见的服务器错误返回代码:
500 Internal Server Error内部服务器错误
接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。
用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html&br&ErrorDocument 500 /errors/internalerror.html
一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:
ErrorDocument 错误代码 /目录名/文件名.扩展名
如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:
ErrorDocument 401 &你没有权限访问该页面,请放弃!&
2.2.配置.htaccess 停示显示目录列表 有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。
为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示: &Options -Indexes
2.3. 配置.htaccess 阻止/允许特定的IP地址 某些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁 某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP 地址,所以这并不是限制使用的常用方法。
你可以使用以下命令封禁一个IP地址:
deny from 000.000.000.000
这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。
你可以使用以下命令允许一个IP地址访问网站:
allow from 000.000.000.000
被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。
如果你想阻止所有人访问该目录,则可以使用:
deny from all
不过这并不影响脚本程序使用这个目录下的文档。
2.4.配置.htaccess 替换index文件 改变缺省的首页文件
一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在w3sky中是 w3sky.PHP。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:
DirectoryIndex 新的缺省文件名
也可以列出多个,顺序表明它们之间的优先级别,例如:
DirectoryIndex filename.html index.cgi index.pl default.htm portal.php welcome.php&br&
也 许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说,如果你的站点使用 PHP 文件,你可能会想使用 index.PHP来作为该目录的索引文档。当然也不必局限于&index&文档,如果你愿意,使用.htaccess你甚至能够设置 foofoo.balh来作为你的索引文档这些互为替换的索引文件可以排成一个列表,服务器会从左至右进行寻找,检查哪个文档在真实的目录中存在。如果一 个也找不到,它将会把目录列表显示出来(除非你已经关闭了显示目录文件列表)。
DirectoryIndex index.PHP index.PHP3 messagebrd.pl index.html index.htm
2.5.配置.htaccess 重定向页面 .htaccess 最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为 有用。另一个应用(我发现的很有用的)是重定向到一个长URL,例如在我的时事通讯中,我可以使用一个很简短的URL 来指向我的会员链接。以下是一个重定向文件的例子:
Redirect /location/from/root/file.ext
上述例子中,访问在root目录下的名为oldfile.html可以键入:/oldfile.html 访问一个旧次级目录中的文件可以键入:/old/oldfile.html
你 也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录, 并且你已经在一个新网站 上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声 明: Redirect /olddirectory
这样,任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。如果正确使用,此功能将极其强大。
我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:
Redirect /旧目录/旧文档名 新文档的地址
或者整个目录的转向:
Redirect 旧目录 新目录
3.1. 密码保护 .htaccess文件尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用 的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访 问目录,并且绝无&后门&可走)。
利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:
AuthName &Section Name&&br&AuthType Basic&br&AuthUserFile /full/path/to/.htpasswd&br&Require valid-user
你可能需要根据你的网站情况修改一下上述内容中的一些部分,如用被保护部分的名字&Members Area&,替换掉&Section Name&。
/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,请询问一下你的系统管理员。
3.2.密码保护.htpasswd文件 目 录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含用户名和密码的文档,用于访问你的网站,相关信息(默认)位于一个名 为.htpasswd的文档里。像.htaccess一样,.htpasswd也是一个没有文件名且具有8位扩展名的文档,可以放置在你网站里的任何地方 (此时密码应加密),但建议你将其保存在网站Web根目录外,这样通过网络就无法访问到它了。
在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess 也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:
order allow,deny&br&deny from all
3.3.配置 .htaccess 输入用户名和密码 要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:
forge:y4E7Ec8e7EwV
这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。
有了授权用户文档,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服务器目录 AuthGroupFile /dev/null (需要授权访问的目录) AuthName EnterPassword AuthType Basic (授权类型)
require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user)
注,括号部分为学习时候自己添加的注释
拒绝来自某个IP的访问
如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。
order allow,deny&br&deny from 210.10.56.32&br&deny from 219.5.45.&br&allow from all
第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255
想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。
创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网站的用户名和密码,应为:
username:password
&password& 的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码:一是使用一个网上提供的 permade脚本或自己写一个;另一个很不错的username/password加密服务是通过KxS网站,这里允许你输入用户名及密码,然后生成正 确格式的密码。
对于多用户,你只需要在.htpasswd文档中新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档,可以自动新增/移除用户等。
3.4.配置.htaccess 直接访问加密网站 当 你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚 本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密 的):
3.5.利用 .htaccess 防止盗链 如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。
所需要的指令如下:
RewriteEngine on&br&RewriteCond %{ HTTP_REFERER } !^$&br&RewriteCond %{ HTTP_REFERER } !^http://( [NC]&br&RewriteRule .(gif &jpg)$ - [F]
如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替:
RewriteEngine on&br&RewriteCond %{ HTTP_REFERER } !^$&br&RewriteCond %{ HTTP_REFERER } !^http://( [NC]&br&RewriteRule .(gif &jpg)$ 替代图片文件名 [R,L]
3.6.利用 .htaccess进行地址转向 这 种方法,就是把的流量全部 301转向到(或者反过来)。其实对于这种方法,国外有人认为对PageRank没有帮助。我觉得是因为他们看到 Google管理员工具中有一个首选域工具,可以指定Google的爬虫把 或者作为抓取和排名的首选域,转向似乎就没有必要了。但确实又有不少人证实这是有效 的,反正目前还没有人说这种方法会对SEO或者pagerank有什么损害。
在.htaccess中写入:
Options +FollowSymlinks All -Indexes&br&rewriteEngine on&br&rewriteBase /&br&RewriteCond %{HTTP_HOST} ^$&br&RewriteRule ^(.*)$
3.7.利用 .htaccess对域名中&www&的控制 强制去除www
下面以 Wordpress 为例,其它的情况,可以自己参照解决。在你的 Wordpress 目录下通常会有一个 .htaccess 文件,如果没有,那就手动建立一个。如果你设定了 permalink 的话,.htaccess 里面的内容会有如下一坨:
&if mod_rewrite.c=&& module=&&&RewriteEngine On&br&RewriteBase /&br&RewriteCond %{REQUEST_FILENAME} !-f&br&RewriteCond %{REQUEST_FILENAME} !-d&br&RewriteRule . /index.php [L]&br&&/if&
具体是啥意思咱就甭管它了,只管在 RewriteBase / 这行下面加上:
RewriteCond %{HTTP_HOST} ^www.yourdomain.tld$ [NC]&br&RewriteRule ^(.*)$
这样就大功告成了。当然要把 yourdomain.tld 换成你自己的域名。上面两行的意思是把
这种形式改写成 yourdomain.tld, 并把访问前者的所有链接永久转向到后者。
域名前强制加上www
如果你实在是坚持要把 www 加在前面,我上面的算是白写了,表示遗憾。但,你可以。只需把上面添加的两行代码改成这样:
RewriteCond %{HTTP_HOST} ^yourdomain.tld$ [NC]&br&RewriteRule ^(.*)$
4.1. .htaccess 总结 .htaccess是一个站点管理员可以应用的强大工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性
.htaccess的特别说明
* 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用 * 如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
AccessFileName .config
* 一般情况下,不应该使用. htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户 认证写在主配置文件中是完全可行的,而且是一种很好的方法。.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有 root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了 多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文 件中的配置,都可以放在主配置文件的段中,而且更高效。避免使用.htaccess文件有两个主要原因,即性能和安 全。
在线 .htaccess文件生成器 能够在线生成. htaccess文件,很简单的就配置重定向,系统错误文件等。 敢想敢做敢坚持
.htaccess文件提供了针对每个目录改变配置的方法。 top .htaccess文件* 相关模块相关指令
*core *mod_authn_file *mod_authz_groupfile *mod_cgi *mod_include *mod_mime
*AccessFileName *AllowOverride *Options *AddHandler *SetHandler *AuthType *AuthName *AuthUserFile *AuthGroupFile *Require
top 工作原理和使用方法*
.htaccess文件(或者&分布式配置文件&)提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。
说明:如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config,则可以在服务器配置文件中按以下方法配置:
AccessFileName.config
允 许放在这些文件中的指令取决于AllowOverride指令,此指令按类别决定了.htaccess文件中哪些 指令才是有效的。如果一个指令允许放在.htaccess文件中,则,在本手册的说明中,此指令会有一个覆盖段,其中说明了为使此指令生效而必须在 AllowOverride指令中设置的值。
例如,本手册对 AddDefaultCharset指令的说明表明了,此指令可以用于.htaccess文件(见 Context一行),而Override一行是&FileInfo&,那么为使.htaccess中的此指令有效,则至少要设置 &AllowOverrideFileInfo&。
例子: Context:serverconfig,virtualhost,directory,.htaccess Override:FileInfo
如果不能确定一个特定的指令是否允许用于.htaccess文件,可以查阅手册中对指令的说明,看在Context(&上下文&)行中是否有&.htaccess.&。
使用.htaccess文件的场合
一般情况下,不应该使用.htaccess文件,除非你对主服务器配置文件没有存取权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,但并不是这样,把用户认证写在主服务器配置中是完全可行的,而且是一种很好的方法。
在 内容提供者需要针对目录改变服务器的配置而对服务器系统没有root权限时,则应该使用.htaccess文件。 如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在一个机器上宿主多个用户站点,而又希望用户 可以自己改变配置的情况下。
虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主服务器的段中,而且更高效。
避免使用.htaccess文件有两个主要原因。
首 先是性能。如果AllowOverride允许使用.htaccess文件,则,Apache需要在每个目录中查 找.htaccess因此,无论是否真正用到,允许使用.htaccess文件都会导致性能的下降。另外,每次请求一个页面时,都需要读 取.htaccess文件。
还有,Apache必须在所有更高级的目录中查找.htaccess文件,使所有有效的指令都起作用(参见howdirectivesareapplied.),所以,如果有对/www/htdocs/example中页面的请求,Apache必须查找以下文件:
/.htaccess /www/.htaccess /www/htdocs/.htaccess /www/htdocs/example/.htaccess
而且,对此目录以外的每个文件访问,还有4个附加的文件系统访问,即使这些文件都不存在。(注意,这可能仅仅发生在/允许使用.htaccess文件的情况下,虽然这种情况并不多。)
其 次是安全。如此,会允许用户修改服务器的配置,可能会导致未加限制的修改,请认真考虑是否给予用户这样的特权。但 是,如果给予用户较少的特权而不能满足其需要,则会带来额外的技术支持请求,所以,必须明确地告诉用户已经给予他们的权限,说明 AllowOverride设置的值,并引导他们参阅相应的说明,以免日后许多麻烦。
注意,在/www/htdocs/example目录下.htaccess文件中放置指令,与,在主服务器配置文件中段中放置相同指令,是等效的。:
/www/htdocs/example中的.htaccess:
/www/htdocs/example中.htaccess文件的内容 AddType text/example.exm
httpd.conf文件中的段
AddType text/example.exm
但是,把这个配置放置在服务器配置文件中则更加高效,因为只需要在Apache启动时读取一次,而不是在有文件请求时每次都读取。
将AllowOverride设置为&none&可以完全禁止使用.htaccess文件。
AllowOverrideNone
指令的生效
.htaccess 文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录,但是,很重要需要记住 的是,其更高级的目录也可能会有.htaccess文件,而指令是按查找顺序依次生效,所以,一个特定目录下的.htaccess文件中的指令可能会覆盖 其更高级目录中的.htaccess文件的指令,即,子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
例如:目录/www/htdocs/example1中的.htaccess文件有如下内容:
Options+ExecCGI
(注意:必须设置&AllowOverrideOptions&以允许在.htaccess文件中使用&Options&指令。)
在目录/www/htdocs/example1/example2中的.htaccess文件有如下内容:
OptionsIncludes
由于第二个.htaccess文件的存在,/www/htdocs/example1/example2中的CGI执行是不允许的,而只允许OptionsIncludes,它完全覆盖了之前的设置。
如 果你为了知道如何认证,直接从这里开始看,有很重要的一点需要注意,有一种常见的误解,认为实现密码认证必须要使 用.htaccess文件,其实不是这样。把认证指令放在主服务器配置文件的段中是一个更好的方法, 而.htaccess文件应该仅仅用于无权访问主服务器配置文件的时候。参见上述的使用.htaccess文件的场合。
有此声明在先,如果你仍然需要使用.htaccess文件,请看以下说明。
必须设置&AllowOverrideAuthConfig&以允许这些指令生效
.htaccess文件的内容:
AuthTypeBasic AuthName&PasswordRequired& AuthUserFile/www/passwords/password.file AuthGroupFile/www/passwords/group.file RequireGroupadmins
注意,必须设置AllowOverrideAuthConfig以允许这些指令生效
更详细的有关身份识别和认证的说明,请参见authenticationtutorial。
服务器端包含举例
.htaccess文件的另一个常见用途是允许一个特定目录的服务器端包含(ServerSideIncludes),可以在需要的目录中放置.htaccess文件,并如下配置:
Options+Includes AddTypetext/htmlshtml AddHandlerserver-parsedshtml
注意,必须同时设置AllowOverrideOptions和AllowOverrideFileInfo使这些指令生效。
更详细的有关服务器端包含的说明,请参见SSItutorial。
最后,可以通过.htaccess文件允许在特定目录中执行CGI程序,需按如下配置:
Options+ExecCGI AddHandlercgi-scriptcgipl
另外,如下,可以使给定目录下所有文件被视为CGI程序:
Options+ExecCGI SetHandlercgi-script
注意,必须设置AllowOverrideOptions使这些指令生效。
更详细的有关CGI编程和配置的说明,请参见CGItutorial。
如果在.htaccess文件中写入了配置指令但不起作用,可能有多种原因。
最常见的原因是,AllowOverride指令没有被正确设置,必须确保没有对此文件区域设置 AllowOverrideNone。有一个很好的测试方法,即,在.htaccess文件随便增加点没用的内容,如果服务器没有返回了一个错误消息,那 么几乎可以断定设置了AllowOverrideNone。
在访问文档时,如果收到服务器的出错消息,应该检查Apache的出错日志,可以知道.htaccess文件中哪些指令是不允许使用的,也可能会发现需要纠正的语法错误。
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读}

我要回帖

更多关于 浏览器配置存在问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信