.htaccess 配置问题

.htaccess 配置问题

我在一个域名上使用两个网站,例如:www.example.com 和 www.example.com/site2。我想知道在我的 site2 上,在我的 site2 中有两个文件夹,名称分别为 folder1 和 folder2,我的 index.php 在 folder2 中,但方法的定义在 folder2 中,我通过 .htaccess 包含了这些文件,但我无法获取 folder1 中的那些文件,浏览器出现 Error-500 和 400,我使用了以下几行,但它们在 .htaccess 文件中不起作用

下面这行代码工作正常

RedirectMatch ^/$ http://www.example.com.pk/site2/views/

AllowOverride All
php_value include_path ".:/home/example/public_html/site2/system"

答案1

您是否想将方法和类包含在 PHP 中以供使用?如果是这样,您很可能想要使用include() 或 require() 函数在您的 PHP 代码中而不是通过 Apache 执行。

我无法从您的问题中确切地看出您想要实现什么。如果您确实需要使用 Apache 来包含内容,请扩展您的问题以提供更多详细信息。

答案2

此外,您当前的 .htaccess 文件不包含文件,它仅设置 php 使用的包含路径。因此,想象一下这个文件树:

root
| - a
|   |- myphp.php
| - b
|   |- myinclude.extension

当你在 php 文件 myphp.php 中包含时,通常你会执行以下操作:

<?php include('../b/myinclude.extension'); ?>

但设置后

AllowOverride All php_value include_path "root/b/"

你只需要输入

<?php include('myinclude.extension'); ?>

但这真的没什么大区别,不是吗?请阅读有关include、require和include_once、require_once的php.net页面。

相关内容