领先的互联网解决方案提供商!

樟木头做网站公司-htaccess 文件指令在 web.config 中相应设置

您现在的位置:首页 > 新闻中心 > 行业新闻
作者: 发布于:2017-8-19 17:27:51 点击量:

樟木头做网站公司-htaccess 文件指令在 web.config 中相应设置!

如果您看到这两段隐藏文字,说明您在浏览器设置中关了JavaScript属性。关闭此属性后本站一些功能将会丢失,排版可能会导致错乱,请不要这样做。

许多 PHP 网站使用的是 Apache 主机,相应的配置文件为 .htaccess,该文件中包含很多服务器端设置参数。与之相应的,对于 Windows 主机,在 IIS 上的配置文件为 Web.config。

本文主要叙述的是与 .htaccess 文件常规配置参数对应的 IIS 上的配置参数。




配置参数举例

下面的例子为 .htaccess 和 Web.config 文件配置参数。

.HTACCESS 文件

#

# Apache/PHP/Application settings:

#



# Protect files and directories from prying eyes.



Order allow,deny





# Don't show directory listings for URLs which map to a directory.

Options -Indexes



# Follow symbolic links in this directory.

Options +FollowSymLinks



# Make Application handle any 404 errors.

ErrorDocument 404 /index.php



# Force simple error message for requests for non-existent favicon.ico.



ErrorDocument 404 "The requested file favicon.ico was not found.





# Set the default handler.

DirectoryIndex index.php



# Override PHP settings. More in sites/default/settings.php

# but the following cannot be changed at runtime.



# PHP 4, Apache 1.



php_value magic_quotes_gpc 0

php_value register_globals 0

php_value session.auto_start 0

php_value mbstring.http_input pass

php_value mbstring.http_output pass

php_value mbstring.encoding_translation 0





# PHP 4, Apache 2.



php_value magic_quotes_gpc 0

php_value register_globals 0

php_value session.auto_start 0

php_value mbstring.http_input pass

php_value mbstring.http_output pass

php_value mbstring.encoding_translation 0





# PHP 5, Apache 1 and 2.



php_value magic_quotes_gpc 0

php_value register_globals 0

php_value session.auto_start 0

php_value mbstring.http_input pass

php_value mbstring.http_output pass

php_value mbstring.encoding_translation 0





# Requires mod_expires to be enabled.



# Enable expirations.

ExpiresActive On



# Cache all files for 2 weeks after access (A).

ExpiresDefault A1209600



# Do not cache dynamically generated pages.

ExpiresByType text/html A1





# Various rewrite rules.



RewriteEngine on



# If your site can be accessed both with and without the 'www.' prefix, you

# can use one of the following settings to redirect users to your preferred

# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:

#

# To redirect all users to access the site WITH the 'www.' prefix,

# (http://example.com/... will be redirected to http://www.example.com/...)

# adapt and uncomment the following:

# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]

# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

#

# To redirect all users to access the site WITHOUT the 'www.' prefix,

# (http://www.example.com/... will be redirected to http://example.com/...)

# uncomment and adapt the following:

# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]

# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]



# Modify the RewriteBase if you are using Application in a subdirectory or in a

# VirtualDocumentRoot and the rewrite rules are not working properly.

# For example if your site is at http://example.com/application uncomment and

# modify the following line:

# RewriteBase /application

#

# If your site is running in a VirtualDocumentRoot at http://example.com/,

# uncomment the following line:

# RewriteBase /



# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !=/favicon.ico

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]





# $Id: .htaccess,v 1.90.2.1 2008/07/08 09:33:14 goba Exp $









时光在路上 way2time.com 保留所有权利





WEB.CONFIG 文件配置参数举例


























































statusReason="The requested file favicon.ico was not found"

statusDescription="The requested file favicon.ico was not found" />





































































禁止访问某文件

在 .htacess 文件中,可以运用 FilesMatch 指令来禁止访问某类文件:



Order allow,deny


IIS 中,可以使用请求筛选模块 Request Filtering 模块,通过设置 Web.config 来限制浏览器访问某类文件:

























































另外也可以通过URL 重写组件来设定、禁止某类文件访问,返回代码为 403。使用该模块组件的好处是,可以使用正则表达:






statusReason="Forbidden"

statusDescription="Access is forbidden." />









默认文件

在 .htaccess 中,可以通过 DirectoryIndex 设置默认文件,告诉服务器如果没有相应 URL 时,需要加载哪些索引文件。

# Set the default handler.

DirectoryIndex index.php


而对于使用 IIS 服务的 Windows 主机,默认文件应该设置在网站的高级别上。例如,对于 PHP,Module Handler 通常设置为 Web server 水平,默认文件也应该设置在这个水平,而不是放在网站局部。在 Web.config 文件中应该确保这样设置:













URL 重写

IIS 包含了重写模块。可以该扩展来重新定义 URL 请求。最常用的 URL 重写为伪静态网址设置。

许多 PHP 系统目前使用 .htaccess 文件设置 URL 重写。这些规则可以告诉 Apache 相应模块在何时、如何响应网址请求。Windows主机的 IIS 服务设置类似下面这样。


例如,在 .htaccess 文件中,设置如下:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]



RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !=/favicon.ico

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]





而使用 IIS 的 URL 重写模块,则可以这样设置:















































错误页面处理

.htaccess 文件中的 ErrorDocument 指令会告诉网站服务器加载页面时显示 404 或“File Not Found”错误:

# Make Application handle any 404 errors.

ErrorDocument 404 /index.php





IIS 中,可以使用 httpErrors 指令。由于 IIS 默认关闭了此功能,需要下面这段代码注释掉:









文件夹浏览

许多服务器配置时会让用户查看一些不包含默认文件的文件夹内的文件列表。另一个安全措施就是可以禁止客户端浏览某些文件夹。在 .htaccess 文件中,可以这样设置:

# Don't show directory listings for URLs which map to a directory.

Options -Indexes





IIS 中可以通过 Web.config 文件中 directoryBrowse 指令设置:









缓存时间

缓存 Caching 指令用来确保静态文件缓存一定时间,而动态内容不缓存。在 .htaccess 文件中,通过 mod_expires 模块的 ExpiresBy 指令设置:

# Requires mod_expires to be enabled.



# Enable expirations.

ExpiresActive On



# Cache all files for 2 weeks after access (A).

ExpiresDefault A1209600



# Do not cache dynamically generated pages.

ExpiresByType text/html A1







Web.config 文件中,IIS 通过 Output Caching 模块和 caching 指令控制缓存。例如,你可以将 .html 文件设置成缓存 14 天,也可以设置不缓存 PHP 文件:












全东莞 莞城 长安 南城 东城 虎门 万江 寮步 大朗 塘厦 常平 大岭山   no!

上一篇: 石龙网络公司-东莞石龙做网站-WordPress使用腾讯云 CDN 加速后会出现重复评论提示
下一篇: 深圳网站的建设需注意什么细节
  • 官方微信
30秒获取报价: