需要使用htaccess帮助的测试站点

时间:2012-10-24 13:20:18

标签: .htaccess

我在root网站上有我的网站.com /我想设置一个像这个网站的文件夹.com / us /

文件夹/ us /是空的,当有人去它时,该文件夹显示的内容与网站.com中的内容相同,但仍然留在网站上.com / us /.

这是扭曲,如果我想显示一个不同的header.php或js或css文件,并将其加载到域名网站.com / us /,我需要htaccess来使用它而不是网站上的内容.com /。我将使用相同的目录结构。

1 个答案:

答案 0 :(得分:0)

以下是您可以采用的众多方法之一。这是一个粗略的例子,使用mod_rewrite和php5,希望能让你朝着你想要的方向前进。

使用以下示例导航到应该表现如下

的.htaccess

<IfModule php5_module>
    php_value auto_prepend_file /var/www/vhosts/example.com/httpdocs/header.php
    php_value auto_append_file  /var/www/vhosts/example.com/httpdocs/footer.php
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^us/?$    /index\.php?tpl=us    [QSA,L]

    RewriteCond %{DOCUMENT_ROOT}/$1 !-f
    RewriteRule ^us/(.*)$    /$1?tpl=us    [QSA,L]
</IfModule>

/header.php

<?php 
$tpl = $_GET['tpl'];
if ($tpl === 'us') {
    require_once $_SERVER['DOCUMENT_ROOT'].'/header-us.php';
}
else {
    require_once $_SERVER['DOCUMENT_ROOT'].'/header-default.php';
}
?>

/header-us.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
  <title>USA</title>
  <meta name="description" content="Welcome to the US section">
  <link rel="stylesheet" href="/css/us/style.css">
  <script src="/js/us/scripts.js"></script>
</head>
<body>

/header-default.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
  <title>Welcome to index</title>
  <meta name="description" content="Welcome to the DEFAULT section">
  <link rel="stylesheet" href="/css/style.css">
  <script src="/js/scripts.js"></script>
</head>
<body>

/footer.php

<p>user contributions licensed under cc-wiki with attribution required</p>
</body>
</html>

的index.php

Content

/some-other-directory/file.php

Different Content in some other directory