Apache新手教程:配置.htaccess文件
什么是.htaccess文件?
.htaccess文件是Apache 服务器 上的一个配置文件,用于控制网站的行为。它可以用来重写URL、设置访问权限、防止目录浏览等。.htaccess文件是一个文本文件,可以通过文本编辑器进行编辑和配置。
如何创建.htaccess文件?
要创建.htaccess文件,您只需要在您的网站根目录下创建一个名为“.htaccess”的文件。您可以使用文本编辑器创建并保存该文件。确保文件名以点号开头,并且没有文件扩展名。
重写URL
重写URL是.htaccess文件的一个常见用途。通过重写URL,您可以将复杂的URL转换为更简洁和易于记忆的形式。例如,您可以将“”重写为“”。
要重写URL,您需要使用Apache的mod_rewrite模块。确保在.htaccess文件中启用了mod_rewrite模块,并使用以下代码进行配置:
RewriteEngine OnRewriteRule ^products/([0-9]+)$ products.php?id=$1 [L]
上述代码将把URL“”重写为“”。
设置访问权限
您可以使用.htaccess文件来设置特定文件或目录的访问权限。例如,您可以禁止访问某个目录中的所有文件,或者只允许特定IP地址的用户访问某个文件。
要设置访问权限,您可以使用以下代码:
# 禁止访问某个目录Deny from all# 仅允许特定IP地址访问某个文件Order deny,allowDeny from allAllow from 192.168.0.1
防止目录浏览
默认情况下,Apache服务器允许用户浏览网站目录中的文件列表。如果您不希望用户能够浏览目录,您可以使用.htaccess文件来禁止目录浏览。
要禁止目录浏览,您可以使用以下代码:
Options -Indexes
总结
通过配置.htaccess文件,您可以实现许多有用的功能,如重写URL、设置访问权限和防止目录浏览。.htaccess文件是Apache服务器的一个强大工具,可以帮助您更好地控制和管理您的网站。
香港服务器首选树叶云,提供高性能、稳定可靠的香港服务器。您可以访问了解更多信息。
asp如何重定向?
可以利用来实现301,可参考偶写的DEMO:
[ISapi_Rewrite]
CacheCLOCKRate 3600
RepeatLimit 32
RewriteCond Host:^www\920\$
RewriteRule ^/ /bbs/
RewriteRule (.*) http\://www\920\$1 [I,R]
怎样设置301跳转,要实现静态化
使用Redirect或urlRewrite在文件里设置301跳转, ,这个档案通常会在网站的根目录,如果没有,就自己新增一个。 你的操作系统不允许这样的档案名称时,就先把它命名为,上传到FTP之后,再把档案名称改成。 —————网页服务器必须是Apache —————【情况一】让连接到/xyz的连结重新定址到/abc,包含下层路径例如:会被指向在中要这么写:Redirect /xyz如果有安装mod_rewrite模组的话,也可以这样写:RewriteEngine onRewriteRule ^xyz(.*)$ /abc$1 [R=301,L]【情况二】让连接到/xyz的连结重新定址到根目录,包含下层路径(如/xyz/xxx)在中要这么写:Redirect /xyz如果有安装mod_rewrite模组的话,也可以这样写:RewriteEngine onRewriteRule ^xyz(.*)$ $1 [R=301,L]【情况三】让连接到旧网址的连结重新定址到新网址,前提是你必须是旧网址的拥有者建议让旧网址和新网址包持相同的目录结构把放到旧网址的根目录,然后要这么写:RewriteEngine onRewriteRule (.*)$1 [R=301,L]【情况四】统一你的网址,不要出现www由_进入的连结一律重新指向your_可以在中这么写:RewriteEngine onRewriteCond %{HTTP_HOST} ^www\_domain\$ [NC]RewriteRule ^(.*)$$1 [R=301,L]【技巧一】确保你的网站实行了301 Redirect,可以到Search Engine Friendly Redirect Checker检查。 输入要检查的网址和验证码就可以了。 【技巧二】防止档案被检视,则要在中加入:order allow,denydeny from all【技巧三】通常该目录中没有的时候,Apache会把此目录下的档案统统列出来。 如果你不想这么做的话,在中加入这一行:Options -Indexes
提示No input file specified 怎么处理
(一)IIS Noinput file specified方法一:改中的doc_root行,打开ini文件注释掉此行,然后重启IIS方法二:请修改找到; _redirect = 1去掉前面分号,把后面的1改为0即_redirect = 0(二)apacheNo input file specifiedapache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下打开 在RewriteRule 后面的教程后面添加一个“?”完整代码如下 onRewriteCond $1 !^(|images|)RewriteRule ^(.*)$ /?/$1 [L]如果是apache服务器出问题,看看是不是的Apache 把 后缀的文件解析哪里有问题了。 总结Apache 将哪些后缀作为 PHP 解析。 例如,让 Apache 把 后缀的文件解析为PHP。 可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。 这里以添加一个 来示例。 AddType application/x-httpd-php 为了将 教程作为 PHP 的源文件进行语法高亮显示,还可以加上: AddType application/x-httpd-php-source 用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者USR1 信号使 Apache 重新加载)。 (三)nginx配置遭遇No inputfile specified虚拟机测试nginx 遭遇 Noinput file specified,多方查找终于找到解决办法1、 (/etc/php5/cgi/)的配置中这两项_pathinfo=1(这个是自己添加的)doc_root=2、nginx配置文件/etc/nginx/sites-available/default中注意以下部分location ~ \$ {fastcgi_pass 127.0.0.1:9000;fastcgi_;fastcgi_paramSCRIPT_FILENAME/var/www/nginx-default$fastcgi_script_name; includefastcgi_params; }红色部分路径需要根据你主机主目录的实际情况填写配置完以上部分,重启一下service nginx restart,应该没问题了(四)注意检查下网站目录是否有相关用户的写入权限
发表评论