为什么这个mod_rewrite不能工作?
RewriteEngine On
RewriteRule ^([a-zA-Z0-9/_-]+)(|)$ /index.php?url=$1 [L]
RewriteRule ^news/(.*)$ index.php?url=news&id=$1 [NC]下面是处理新闻加载的代码:
<?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,它是工作的,但http://127.0.0.1/news/48不起作用,即使我在http://127.0.0.1/news/48中添加了mod_rewrite规则。
发布于 2016-10-09 18:30:18
您的第一个规则也符合/news/48模式,更改规则的顺序,并将特定的规则放在^news/(.*)$之前。
https://stackoverflow.com/questions/39946644
复制相似问题