理解 mod_rewrite 语法

理解 mod_rewrite 语法

当我在.htaccess这个 mod_rewrite中写入

 RewriteEngine on
 RewriteRule ^(.*)\.my_extension$ $1.php

并打开网址:site.com/index.my_extension这很好,打开了index.php

但是当我尝试像这样的 mod_rewrite 时:

 RewriteEngine on
 RewriteRule ^(.*)$ index.php?url=$1

这给了我Internal Server Error

为什么会发生这种情况?原因是什么?

答案1

RewriteEngine on
RewriteCond %{REQUEST_URI} !(index.php)
RewriteRule ^(.*)$ index.php?url=$1

您有一个重定向循环,您需要从规则中排除 index.php。

相关内容