2016-10-09 5 views
0

なぜmod_rewriteが機能しないのですか?ここでPHP getパラメータを与えるmod_rewriteが機能しない

RewriteEngine On 

RewriteRule ^([a-zA-Z0-9/_-]+)(|)$ /index.php?url=$1 [L] 
RewriteRule ^news/(.*)$ index.php?url=news&id=$1 [NC] 

は、ニュースのロードを処理するためのPHPコードです:

<?php 
$sql = DB::Query("SELECT id,title,longstory FROM news WHERE id = ".filter($_GET['id']).""); 
if(DB::NumRows($sql) == 1) 
{ 
    while($news = $sql->fetch_assoc()) 
    { 
     echo ' 
     <div class="box"> 
      <div class="title"> 
       '.$news["title"].' 
      </div> 
      <div class="mainBox newsBox" style="float;left"> 
       <div class="boxHeader"></div> 
       '.html_entity_decode($news['longstory']).' 
      </div> 
     </div>'; 
    } 
} else 
{ 
    ?> 
    <div class='box'> 
     <div class='title red'>Artikel is niet gevonden.</div> 
     <div class='mainBox'> 
      Jammer genoeg is dit nieuws artikel niet gevonden! 
     </div> 
    </div> 
    <?php 
} 
?> 

私はhttp://127.0.0.1/index.php?url=news&id=48を使用している場合、私がでmod_rewriteルールを追加しているにもかかわらず、作業していて、http://127.0.0.1/news/48ないです私の.htaccess

+0

は、Webサーバーは、Linuxを使用している最初の特定の1 ^news/(.*)$を入れていますか? – timmyRS

+0

404の場合は、メインの 'httpd.conf'ファイルで次のように試してください:' AllowOverrideすべて ' –

答えて

2

あなたの最初のルールは、同様/news/48パターンに一致するルールの順序を変更し、

関連する問題