Php htaccess mod_rewrite,一种语法有效,但另一种语法无效

Php htaccess mod_rewrite,一种语法有效,但另一种语法无效,php,.htaccess,Php,.htaccess,当我在.htaccess中写入此mod_重写时 RewriteEngine on RewriteRule ^(.*)\.my_extension$ $1.php 这很好 但当我尝试像这样重写mod_时: RewriteEngine on RewriteRule ^(.*)$ index.php?url=$1 当打开任何地址时,例如site.com/somepage 那么,这可能是什么原因呢 RewriteEngine on RewriteCond %{REQUEST_URI} !(ind

当我在.htaccess中写入此mod_重写时

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

但当我尝试像这样重写mod_时:

RewriteEngine on
RewriteRule ^(.*)$ index.php?url=$1
当打开任何地址时,例如
site.com/somepage

那么,这可能是什么原因呢

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

如果存在重定向循环,则需要将index.php从规则中排除。

原因是给定的原因:发生了内部服务器错误。这是访问错误日志的邀请。请参阅服务器软件的文档以了解更多信息。您的服务器处于无限循环中-始终重写到索引。php@Waygood当前位置现在他遇到了那个问题。然而,第一个问题是知道在哪里找到答案。Apache在错误日志中说明了这一点。更好的一点是,下一个问题可能就要出现了(正则表达式中的语法错误也很常见)。我同意(重复它不会有任何好处)。任何人都有如何设置重写日志或mod_重写教程的链接吗?@hakre我看不到服务器错误日志,因为它不是我自己的服务器,我在共享主机上有这个@Waygood
您的应用程序处于无限循环中
,但总是重写到index.php在其他服务器上工作,为什么这里不工作?原因可能是某种选择?嗯。。。。是的,这似乎是重定向循环问题。但我需要任何url,重定向到
index.php
文件(这需要为MVC创建一个入口点)。如何解决这个问题?有办法吗?是的,请看我们评论的答案!您的代码很接近,但您需要我包含的中间行…这几乎是说“将除index.php之外的任何url重定向到index.php”以避免循环。当我使用您的代码时,现在服务器返回如下错误:
请求的文件index.php在此服务器上找不到