gpt4 book ai didi

regex - 解释这个mod_rewrite规则

转载 作者:行者123 更新时间:2023-12-02 06:26:19 25 4
gpt4 key购买 nike

谁能解释一下这个 mod_rewrite 规则的作用?

我正在尝试注释该文件,但代码似乎与我认为的相反

# Enable rewriting of URLs
RewriteEngine on


# Allow specified file types to be accessed
# Thing to test = URL
# Condition = not starting with
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)


# RewriteRule will only be performed if the preceeding RewriteCond is fulfilled
# Remove index.php from all URLs
# Pattern = anything (0 or more of any character)
# Substitution = index.php + the rest of the URL
RewriteRule ^(.*)$ /index.php/$1 [L]

最佳答案

浏览器向服务器发送请求(Apache,因为你正在使用 mod_rewrite):

获取配置文件/编辑

Apache 接受此请求并在其配置文件中看到您已将其配置为通过 mod_rewrite 传递所有请求。因此,它将字符串“profile/edit”发送到 mod_rewrite。 Mod_rewrite 然后将您指定的规则应用到它,然后将请求(以我在上一篇文章中解释的方式)转换为“index.php/profile/edit”。 mod_rewrite 完成后,Apache 继续处理请求,并看到“哦,这家伙正在请求文件 index.php”。所以它调用 php 解释器,然后解析并执行 index.php - 并获取 '/profile/edit' 作为参数。 php 代码(在你的例子中是 CI)解析这些参数并知道如何在你的应用程序中调用正确的模块。

基本上,这是一种始终调用 index.php 的方法,即使 url 未指定 index.php 也是如此。通过这种方式,index.php 充当前端 Controller :它将所有请求路由到应用程序中的正确位置。

关于regex - 解释这个mod_rewrite规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com