Php 当末尾没有反斜杠时,Mod rewrite会继续追加GET字符串
根据重写规则,如果我输入的链接不是以反斜杠结尾的,则会在末尾追加Php 当末尾没有反斜杠时,Mod rewrite会继续追加GET字符串,php,.htaccess,mod-rewrite,mod,Php,.htaccess,Mod Rewrite,Mod,根据重写规则,如果我输入的链接不是以反斜杠结尾的,则会在末尾追加GETstring 示例: localhost/forum/显示为localhost/forum/ localhost/forum显示为localhost/forum/?route=forum 添加一行RewriteCond%{REQUEST\u FILENAME}-d 因此,当现有目录指向添加一行RewriteCond%{REQUEST\u FILENAME}时,它不会做任何事情-d 因此,当一个现有目录指向时,它不会做任何事情,
GET
string
示例:
localhost/forum/显示为localhost/forum/
localhost/forum显示为localhost/forum/?route=forum
添加一行
RewriteCond%{REQUEST\u FILENAME}-d
因此,当现有目录指向添加一行
RewriteCond%{REQUEST\u FILENAME}时,它不会做任何事情-d
因此,当一个现有目录指向时,它不会做任何事情,在您的示例中index.php去了哪里?“论坛”中的“f”是怎么变成“f”的?我不太了解mod_重写,所以我不知道如何回答这个问题。这个例子用文字说明了当我输入地址时会发生什么,而且地址在其他任何地方都没有被修改?“论坛”中的“f”是怎么变成“f”的?我不太了解mod_重写,所以我不知道如何回答这个问题。这个例子用文字说明了当我输入地址时会发生什么,而且地址在其他任何地方都没有修改。有一个问题,我正在做一个简单的MVC项目,每个目录都存在,模块使用的文件都相同。我个人甚至将MVC目录放在文档根目录之外。因为这些文件永远不应该被直接访问。除此之外,我认为当每个模块放置一个目录时,文档根会变得非常混乱。为什么不
/mvc/forum
至少限制混乱。好吧,让我们把所有模块移到别处,看看效果如何。我移动了所有模块,没有任何变化。然后我清空了.htaccess以查看发生了什么,链接仍然被重写,因为我从未接触过.htaccess。我在Chrome上打开了我的网站(当时使用的是Firefox),你猜怎么着?一切都按预期运行(当我用规则填充.htaccess时,首先返回了错误,它开始正常工作)。Firefox似乎与错误的重新路由有关。我想这是缓存。您不想在重写行之后使用[L]吗?有一个问题,我正在制作简单的MVC项目,每个目录都存在,并且模块使用的文件都相同。我个人甚至将MVC目录放在文档根目录之外。因为这些文件永远不应该被直接访问。除此之外,我认为当每个模块放置一个目录时,文档根会变得非常混乱。为什么不/mvc/forum
至少限制混乱。好吧,让我们把所有模块移到别处,看看效果如何。我移动了所有模块,没有任何变化。然后我清空了.htaccess以查看发生了什么,链接仍然被重写,因为我从未接触过.htaccess。我在Chrome上打开了我的网站(当时使用的是Firefox),你猜怎么着?一切都按预期运行(当我用规则填充.htaccess时,首先返回了错误,它开始正常工作)。Firefox似乎与错误的重新路由有关。我想这是缓存。您不想在重写行之后加一个[L]吗?
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?route=$1