不要让mod_rewrite使用$ _GET ['page']

时间:2016-01-23 09:58:18

标签: php .htaccess

我目前的链接是:

domain.com/folder/index.php?page=home

我尝试了解它:

domain.com/folder/home

我用来获取页面的PHP代码

<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = 'home';
}
if (strpos($page, '/') !== false || !file_exists("pages/$page.php")) {
$page = 'error';
}
include ("pages/$page.php");
?>

我尝试了很多东西来获取正确的.htaccess代码来重写我的URL,从生成器到论坛帖子,但我无法获得正确的代码。

我希望有人能让我朝着正确的方向努力让它发挥作用。

2 个答案:

答案 0 :(得分:4)

这些.htaccess规则应该可以帮助您入门

RewriteEngine On
RewriteBase /

#### this allows you to write your links in the form /folder/home ####
RewriteRule ^folder/([0-9]+)$ folder/index.php?page=$1 [NC,L]


#### to dynamically redirect to /folder/home ####
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?page=([^&\s]+) [NC]
RewriteRule ^ %1? [R=302,L,NE]

答案 1 :(得分:1)

Redirect ^(.*).php$ index.php?page=$1 [L,QSA] 

在你的htaccess中使用它

相关问题