ApacheWeb服务器是Internet的主要构建块之一,为网站和应用程序提供服务。这是一个有很多选择的复杂系统,其中最重要的是重写模块,简称“mod_Rewrite”。在本文中,我们将了解mod_rewrite的用法,然后探索如何在您自己的基于Apache的站点上设置它。
本模块的目的是以各种有用的方式重写URL。这意味着,当用户通过一个URL到达您的网站时(通过键入或选择包含该URL的链接),他们将“结束”到另一个URL。您可能希望这样做的原因有很多。
您可以使用mod_rewrite将用户从可能仍然出现在搜索结果中的旧的、过时的页面引导到更新的、最新的页面。例如,假设您在上有一个页面https://www.mysite.com/review2015; 如果有人发现这是一个链接并选择了它,您可以使用重写规则将其指向http://www.mysite.com/review2019.
你可能已经看到过与电子商务相关的链接,比如https://www.thestore.net/3d78654954c29ace998658. 开发人员使用这样的标签来确保项目具有唯一的标识符,但对于非技术人员类型,很难记住。
幸运的是,重写规则可以帮助你公布一个好的URL,比如https://www.thestore.net/notebooks/spiral/3-subject-spiral/,当跟随它时,会将访问者引导到具有丑陋URL的URL。
在Web的早期,当您访问网站时,通常会看到页面文件的实际名称。例如,网站的“关于我们”页面可能是“http://www.someguys.org/about.html."
但有几个原因让你看不到这些了。首先,许多网站都是由内容管理系统运行的,这些系统只有少量的实际页面文件。其余的内容会在页面提供时动态添加,因此所有页面可能看起来都具有相同的URL,如“http://www.someguys.org/index.php.“URL重写允许您拥有这些单独页面的外观,同时仍然使用动态CMS管理您的网站。
当网页的URL易于理解时,搜索引擎对网页的排名更高。这意味着网站有一个类似“的URL是有益的”https://www.thecompany.com/services/consulting“而不是”https://www.thecompany.com/index.php?section=services&page=consulting,因为最后一部分看起来更像代码而不是URL。
从URL的角度来看,重写可以确保你总是展现出你最好的一面。
在Apache上使用URL重写需要两个主要组件:
虽然URL重写的用途同样适用于其他web服务器,如IIS或nginx,但mod_rewrite和下面的方法仅适用于Apache。
首先,您需要在Apache安装中打开重写功能。
您需要使用正则表达式语言定义mod_重写的规则。幸运的是,有一些可用的帮助。对于要启用的给定重写,可以使用VisioSpark的规则生成器之类的工具。
这是一个很好的点击方式来制定这些规则。但是你把它们放在哪里?
要在网站上使用规则,您需要在网站的根目录中创建一个名为“.htaccess”的文件。它在某种程度上依赖于平台,特定网站的文件存储在哪里,但您首先需要弄清楚这一点,才能在那里部署您的网站。
可能已经存在具有该名称的文件。如果是这样,那太好了!您只需将行添加到该文件中即可。
在Apache上使用mod_rewrite函数肯定需要一些努力。您必须处理基于文本的配置文件,找到一种方法将非常挑剔的正则表达式放入这些文件,并知道如何手动停止和重新启动服务。在你得到一些不会导致错误和行为正确的东西之前,可能需要大量的尝试和错误。
也就是说,一旦你掌握了窍门,你将从mod_重写中获得巨大的好处。你的访问者将能够更好地记住你的URL,你在谷歌上的排名可能会提高。最终产生的“漂亮URL”毕竟不仅仅是为了展示。它们也很实用。
... 可以学习如何以正常的方式完成所有这些单独的事情,或者使用批处理文件来完成它们。但是VB脚本比批处理脚本好,因为它们更灵活。如果您将以下脚本存储在一个公共位置,以...
...动器上安装便携式Minecraft。请继续阅读,我们将详细介绍如何配置Minecraft的便携式副本,以获得build anywhere的乐趣。 我为什么要这么做? 一个标准的Minecraft安装会将你的Minecraft游戏数据存放在一个系统目录中,直到Minecraft launc...
...只是为了搔搔看电视的痒。请继续阅读,我们将向您展示如何使用一个非常聪明的附加组件在XBMC上重新创建频道冲浪体验。 我为什么要这么做? 越来越多的人开始“割断绳索”,脱离传统的以有线电视为中心的电视观看体验...
...章: 使用DD-WRT将您的家庭路由器变成超级强大的路由器 如何使用DD-WRT增强Wi-Fi网络信号并增加范围 假设你熟悉这些主题,继续阅读。请记住,这本指南是一个多一点技术,初学者应该小心时,修改他们的路由器。 概述 本指...
...您需要进入您的域注册器帐户配置一些设置,以便它知道如何将您的域指向Tumblr。为此,您必须访问域注册器帐户中的DNS管理器。 登录你的GoDaddy帐户,然后选择你想要设置的域名旁边的DNS按钮,指向你的Tumblr博客。 请记住,...
...解析服务器端包含 mod_mime-将文件扩展名与其mime类型关联 mod_rewrite-动态重写URL mod_speling(原文如此)-帮助可能拼写错误URL的读者 mod_ssl-允许使用ssl进行强加密 mod_userdir-允许系统用户拥有自己的网页目录 请记住,这些并不是您...
...“检查”图形。我们将构建一个这样做的类,并向您展示如何将其添加到项目中。虽然这本身可能很有用,但真正的目标是演示VB.NET的继承性。 让我们开始编码吧 要开始,请更改刚刚添加到oldCheckBox的复选框的名称。(您可...
...物中的一种化学物质已被去除。 设置仪器 以下是如何组装设备: 你将要蒸馏的液体连同一块煮沸的芯片一起进入一个烧杯。 这个烧杯位于热板上,因为这是你要加热的液体。 将一小段玻璃管插入塞子中。将其连接到...
...中,我将用其他同样无用的方法替换该方法,以说明它是如何完成的:将反转字符串的VB.NET函数。 Public Overrides Function HashTheName( nm As String) As String Return Microsoft.VisualBasic.StrReverse(nm) End Function 现在调用代码得到了完全不同的...