dongqian1925 2015-09-15 11:29
浏览 82
已采纳

非常基本的.htaccess返回500服务器错误

What I'm expecting to happen

When someone visits example.com/foo, they see example.com/index.php?page=foo.

example.com/index.php?page=foo is working correctly.

What actually happens

Instead, I see a 500 Internal Server Error page, which states:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

I have no access to the logs.


Code

.htaccess

Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

index.php

<?php
if(isset($_GET["page"])){
    switch($_GET["page"]){
        case "register" :
            echo "Registration Page Placeholder";
            break;
    }
}
?>
  • 写回答

1条回答 默认 最新

  • douyi9597 2015-09-15 11:37
    关注

    You should first check whether the request is accessing index.php or not.

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} !^/index\.php [NC]
    RewriteRule ^([^/]*)/?$ /index.php?page=$1 [L]
    

    You're probably getting stuck with infinite rewrites.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?