显示链接,就好像它是使用htaccess链接到文件一样

时间:2018-05-25 16:57:11

标签: .htaccess

我们可以使用htaccess

显示这样的网址吗?
http://www.example.com/group/goroupName

我在group.php 文件夹 中有pages个文件。我想像上面那样显示网址。

我试过像这条规则

RewriteRule ^group/([\w-]+)/?$ pages/group.php?group_username=$1 [L,QSA]

但有些包括未显示的php文件。例如:

<?php 
    include_once '../../functions/includes.php';
   if(isset($_GET['group_username'])) {
    $group_username=$_GET['group_username'];
    include_once '../../functions/includes/get_group.php';  
    if(empty($group_profile_owner_id)){
      header("Location:$url404");
    }
   }else{
      header("Location:$url404");
   }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="theme-color" content="#8e24aa">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
<title><?php echo $group_username;?></title>
<?php include("../../themes/$getTemplate/contents/style_js.php");?>
</head>

<body>

在上面的代码中,这包括不显示:

<?php include("../../themes/$getTemplate/contents/style_js.php");?>

我的RewriteRule

中有什么问题

1 个答案:

答案 0 :(得分:1)

您的RewriteRule是正确的,应该有效。

问题在include PHP中您使用相对路径的问题。由于URL重写,此相对路径会发生变化。

最好使用DOCUMENT_ROOT的相对路径作为:

<?php
   include($_SERVER['DOCUMENT_ROOT'] . '/themes/themeName/contents/style_js.php');
?>