drbvm26000 2016-03-14 07:41
浏览 54
已采纳

.htaccess apache 2.4上的重定向循环

After moving a website to a new server running apache 2.4, this website no longer works and gives a 500 server error.

The current .htaccess file is as follows:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?name=$1 [L]

The index.php files handles the urls as follows:

<div role="main">

         <?php
            // Defualt page will always be home.html
            $page = 'home';

            // Lets get pages based on user input 
            if (!empty($_GET['name'])) {

              //Assign a variable to a sanitised version of the data passed in the URL
              $tmp_page = basename($_GET['name']);

              //If the file exists, update $page
               if (file_exists("pages/{$tmp_page}.html")) 
                  $page = $tmp_page;

              //If the file does not exist, include our custom notfound page and don't run anymore code   
               elseif(!file_exists($tmp_page)){
                  include("pages/notfound.html");
                  exit;
              }
            }

            // Include our default page declared above if no data is passed (no clicks on menu)
            include("pages/$page.html"); 
            ?>

  </div>

I have not been able to fix this by just changing the .htaccess. I'm only hosting the website, so ideally I do not want to make changes to the website without the designer's consent.

  • 写回答

1条回答 默认 最新

  • dongyao4419 2016-03-14 07:54
    关注

    Your first rule rewrites files to files, that is why you are getting a Rewrite loop error.

    Try

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?name=$1 [L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码