Url重写使用htaccess无法正常工作

时间:2013-12-29 15:55:55

标签: php apache .htaccess mod-rewrite

我在qas.php文件中使用这个php代码

<?php
include 'config.php';
include 'head.php';
$qid = $_GET['qid'];
if(isset($_SESSION['username'])){
$myid = $_SESSION['userid'];
$time = time();
if(isset($_POST['submit'])){
$ans = $_POST['ans'];
mysql_query("insert into qas (aid,qid,uid,answer,time) values ('','$qid','$myid','$ans','$time')");
echo "<div class='menua'>Answer Posted..!!</div><br/>";
}
?>

和.htaccess代码

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+) $ qas.php?qid=$1
RewriteRule ^([a-zA-Z0-9_-]+) /$ qas.php?qid=$1

但没有任何效果它说错误

  

内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。请通过admin@example.com与服务器管理员联系,告知他们此错误发生的时间以及您之前执行的操作此错误。服务器错误日志中可能提供有关此错误的更多信息。

1 个答案:

答案 0 :(得分:0)

删除$和/ $之前的空格,所以你的规则是这样的:

RewriteRule ^([a-zA-Z0-9_-]+)$ qas.php?qid=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ qas.php?qid=$1

此外,您的PHP无效 - 您在第一个if上有一个左括号但没有结束。将关闭}放在$time = time();

之后的新行上