使用.htaccess url重写时无法访问$ _GET

时间:2016-04-29 19:29:10

标签: php .htaccess

现在我想用.htaccess清理我的网址 这是我的.htaccess代码

RewriteEngine On RewriteRule ^([^/]*)/([^/]*)\.html$ /movies.php?id=$1&m=$2 [L]

工作正常

这里是 movies.php

<?php

if (!isset($_GET['m'])) {
    header("Location:index.php");
} else {
    $m = str_replace('_',' ',$_GET['m']);
}
echo $_GET['m'];

?>

问题是每次将页面重定向到index.php

2 个答案:

答案 0 :(得分:1)

.htaccess应该是

RewriteRule ^movies/([^/]+)/([^/]+)/?.html$ movies.php?m=$2&id=$1 [NC,L,QSA]

答案 1 :(得分:0)

除了设置$ m变量之外,你在条件的else部分中的代码没有做任何事情,但是我没有看到你在代码中的其他地方使用过。你可能打算做这样的事吗?

<?php

if(!isset($_GET['m'])){  
    header("Location:index.php");  
} else {
    $m = str_replace('_',' ',$_GET['m']);  
}  

echo $m; ?>