我的文件结构如下:
.
└── htdocs
└── projects // contain all my projects
└── <name-of-website> // a specific project
├── application
├── system
├── index.php
├── css
└── js
所以浏览器上的URL看起来像这样(我也删除了index.php):
localhost/projects/<name-of-website>
我想做的是将index.php css和js放在public_html文件夹中,就像这样:
.
└── htdocs
└── projects
└── <name-of-website>
├── application
├── system
└── public_html
├── css
├── js
├── index.php
└── .htaccess
并且还更改了系统和应用程序文件夹:
的路径$system_path = '../system';
$application_folder = '../application';
但是当我再次尝试该URL时,我无法访问索引页面,而是必须转到http://localhost/projects/fakecms/<name-of-website>/
。
我的问题是,我可以保持这样的文件夹结构而不用制动URL吗??基本上,我想再次像这样http://localhost/projects/<name-of-website>
访问index.php
恕我直言,在localhost
上这样做对我来说没有意义,顺便说一句:
[而不是移动index.php
文件,您可以将application
和system
文件夹移动到htdocs
(或服务器上的public_html
)目录之外的某个位置,并根据目录更改这两个文件夹的路径树。
在这两个文件夹中通常有一个.htaccess
文件,阻止直接访问PHP文件(通过Deny from all
)。
但是,如果.htaccess
由于任何原因停止工作,则将这些文件夹移到Web根目录之外会提高安全性。
例如,如果您的index.php
文件位于/home/public_html/project/
,则application
和system
文件夹应放置在/home/
路径:
home
application
system
public_html
project
css
js
.htaccess
index.php
路径将是:
$system_path = '../../system';
$application_folder = '../../application';
您可以像这样使您的css和js并像这样在constants.php中定义路径
define('STYLESHEETS_PATH', 'yoururl/css/');
define('SCRIPTS_PATH', 'yoururl/js/');
[获得CSS时,您只是echo $STYLESHEETS_PATH;
或js echo $SCRIPTS_PATH