访问public_html文件夹外的文件

时间:2013-08-20 20:13:29

标签: php .htaccess host

我想从根目录(public_html)中创建一些文件夹。 我与后续目录共享服务器linux

  • /家庭/ mysite
    • access-log
    • etc
    • mail
    • public_ftp
    • public_html
    • tmp
    • www

和我计算机中的网站目录(wamp):

  • 应用
    • 模型
    • 控制器
    • 视图
  • config
  • 公共
    • 图像
    • css
    • js
    • index.php
  • htaccess

我希望将公用文件夹放入服务器的public_html文件夹中。 1)如何使用相对路径包含我的代码?

我有htaccess个文件,它将所有请求指向我计算机中的public/index.php

2)我应该将htaccess放在共享服务器linux中?

我的htaccess文件:

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

3 个答案:

答案 0 :(得分:1)

  1. 您需要将所有公共文件放在public_html中。
  2. 将.htaccess移动到公共html(该示例不会重定向到public / html只重定向到index.php并且没问题)
  3. 如果有absoulute路径示例“../public”更改为“../public_html”,如果相对路径很好
  4. 将所有其他非公共代码移动到根文件夹中。
  5. 你的申请必须在这个时候运行。

答案 1 :(得分:0)

将所有内容放入

  

/家庭/ mysite的

并配置您的虚拟主机以使用

  

/家庭/ mysite的/公共/

作为DocumentRoot。 将.htaccess放入

  

/家庭/ mysite的/公共/

答案 2 :(得分:0)

您无法使用相对路径遍历文档根目录或在htaccess文件中重写。你可以包含php脚本中的文件(index.php)。所以你可以做的是允许public_html之外的请求被路由到index.php,然后在php中,将文件加载到public_html之外。