了解mod_rewrite语法

当我写.htaccess这个mod_rewrite

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

并打开url: site.com/index.my_extension这个wroks很好,打开了index.php

但是当我尝试像这样mod_rewrite:

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

这给我Internal Server Error

为何发生这种事? 是什么原因?

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

你有一个redirect循环,你需要从规则中排除index.php。