app教程网 学习教程 rewrite是什么意思(rewrite樱花动漫在线观看第二季)

rewrite是什么意思(rewrite樱花动漫在线观看第二季)

Apache的mod_rewrite是一个杀手级模块,提供强大的URL操作,几乎可以实现你梦想的所有URL操作类型,代价是你必须接受它的复杂性。

成为mod_rewrite的主要障碍是初学者不容易理解和使用,甚至Apache专家有时也会发现mod_rewrite的新用途。

换句话说:对于mod_rewrite,要么你退出,再也不用,要么你喜欢,享受一生。

重写可以应用于以下几个方面或者解决以下几个问题:URL规划规范的URL描述:在一些网站服务器上,一个资源会有多个URL,在实际应用和发布中要使用标准化的URL。

其他是速记或内部使用。无论用户在请求中使用什么形式的URL,最终看到的都应该是标准化的URL。

方案:对所有非标准URL执行外部HTTP重定向,以改变其在浏览器地址栏中的显示及其后续请求。以下示例中的规则集由canonical /u/user /~user替换。

并更正了/u/user漏掉的后缀斜杠。

Code:/~ ([/]/? (.*) /u/$1/$2 [R] Rewritten by/([uge])/([/]) $/$1/$2/[r]

Moved DocumentRoot描述:通常网站服务器的DocumentRoot直接对应URL'/'但往往不在最高层,可能只是很多数据池中的一个实体。举个例子,

在Intranet站点中,有/e/www/(www的主页)、/e/sww/(Intranet的主页)等,而DocumentRoot指向/e/www/,

您必须确保此数据池中的所有嵌入图片和其他元素对后续请求有效。

方案:只需将URL/重定向到/e/www/。这个方案看起来很简单,但是只有mod_rewrite模块的支持才简单。

因为传统的URL别名机制(由mod_alias及其相关模块提供)只进行一个前缀匹配,而DocumentRoot是所有URL的前缀,所以无法实现这样的重定向。

使用mod_rewrite非常简单:

Code:/$ Rewrite Engine on Rewriter /e/www/[R]

后缀斜杠问题描述:每个网络管理员都有一本关于引用目录后缀斜杠问题的硬书。如果省略,服务器会产生错误,因为如果请求是/~quux/foo而不是/~quux/foo/,

服务器会寻找一个名为foo的文件,它是一个目录,所以它会给出一个错误。事实上,在大多数情况下,它会尝试自己纠正这个错误,但有时它需要你手动纠正,例如,在许多CGI脚本中重写复杂的URL后。

解决方法:这个微妙问题的解决方法是让服务器自动添加后缀斜杠。在这方面,必须使用外部重定向来使浏览器正确处理后续请求,如图片。如果只进行内部重写,可能只对目录页有效。

但是对于使用相对URL嵌入图片的页面无效,因为浏览器有请求嵌入目标的能力。例如,如果不使用外部重定向,那么/~quux/foo/index.html页面中对image.gif的请求,

结果会是/~quux/image.gif!

所以,应该这样写:

代码:重写库上的重写引擎/~quux/重写者^foo$富/[R]

又懒又疯狂的办法就是把这些写进顶层。htaccess放在它的主机目录下,但是需要注意的是这样会带来一些处理开销。

代码:rewrite base/~ quux/rewrite second %-d重写器规则^(.上的重写引擎[^/])$ 1美元/[R]

集群网站相似URL规划的描述:我们希望为一个内网集群网站中的所有WWW服务器建立一个相似且一致的URL规划,即所有URL(对于单台服务器,

是本地的并且依赖于此服务器!)是独立于服务器的!我们需要的是一个与服务器无关的一致性规划的WWW命名空间,即URL不需要包含正确的物理目标服务器,而是由集群本身自动定位物理目标主机。

方案:首先,目标服务器的信息来自(生成自)包含用户、组和实体的外部地图,其格式如下:

Code: User 1 Server User 1 User 2 Server User 2:

该信息存储在map.xxx-to-host文件中。其次,如果URL在一台服务器上无效,需要引导所有服务器重定向URL。

代码:/u/用户/任意路径/g/组/任意路径/e/实体/任意路径

RewriteRule ^/([uge])/([^/]+)/?$ /$1/$2/.www/RewriteRule ^/([uge])/([^/]+)/([^.]+.+) /$1/$2/.www/$3\

描述:通常在建立一个新的网站服务器时,很多网管都会有这样一个要求:将一个网站服务器上的所有托管目录重定向到另一个网站服务器上。

结构化托管目录描述:一些拥有数千用户的网站通常会使用结构化托管目录规划,即每个托管目录位于一个带有特定前缀的副标题中,比如其用户名的第一个字符。所以,

/~foo/anypath代表/home/f/foo/.www/anypath,而/~条/任意路径代表/home/b/bar/.www/anypath。

Scheme:下面的规则集可以用来扩展~来达到上述目的。

Code:/~ (([a-z]) [rewriting engine on a-z0-9 rewriter]). *) /home/$2/$1/。 www3

文件系统的重组说明: 这是一个不加雕琢的例子:一个大量使用针对目录的规则集以实现平滑观感,而从来不用调整数据结构的杀手级的应用。背景:net.sw从1992年开始,

存放了我收集的免费的有效的Unix软件包。它是我的爱好也是我的工作,因为在学习计算机科学的同时,业余时间还做了多年的系统和网络的管理员。每周我都需要整理软件,

因而建立了一个层次很深的目录结构来存放各种软件包:

代码: drwxrwxr-x 2 netsw users 512 Aug 3 18:39 Audio/drwxrwxr-x 2 netsw users 512 Jul 9 14:37 Benchmark/drwxrwxr-x 12 netsw users 512 Jul 9 00:34 Crypto/drwxrwxr-x 5 netsw users 512 Jul 9 00:41 Database/drwxrwxr-x 4 netsw users 512 Jul 30 19:25 Dicts/drwxrwxr-x 10 netsw users 512 Jul 9 01:54 Graphic/drwxrwxr-x 5 netsw users 512 Jul 9 01:58 Hackers/drwxrwxr-x 8 netsw users 512 Jul 9 03:19 InfoSys/drwxrwxr-x 3 netsw users 512 Jul 9 03:21 Math/drwxrwxr-x 3 netsw users 512 Jul 9 03:24 Misc/drwxrwxr-x 9 netsw users 512 Aug 1 16:33 Network/drwxrwxr-x 2 netsw users 512 Jul 9 05:53 Office/drwxrwxr-x 7 netsw users 512 Jul 9 09:24 SoftEng/drwxrwxr-x 7 netsw users 512 Jul 9 12:17 System/drwxrwxr-x 12 netsw users 512 Aug 3 20:15 Typesetting/drwxrwxr-x 10 netsw users 512 Jul 9 14:08 X11/

1996年7月,我决定通过一个漂亮的Web接口公开我的收藏。ldquo;漂亮rdquo;是指提供一个接口以直接浏览整个目录结构,同时不对这个结构做任何改变- 甚至也不在结构顶部放置CGI脚本。

为什么呢?因为这个结构还要能够被FTP访问,而且我不希望其中有任何Web或者CGI的成分。

方案: 这个方案分为两个部分:第一个部分,是用于在空闲时间建立所有目录页面的CGI脚本集。我把它们放在/e/netsw/.www/,如下:

代码: -rw-r--r-- 1 netsw users 1318 Aug 1 18:10 .wwwacl drwxr-xr-x 18 netsw users 512 Aug 5 15:51 DATA/-rw-rw-rw- 1 netsw users

本文来自网络,不代表本站立场,转载请注明出处:https: