PHP和Apache的htaccess文件中子目录的相对路径

时间:2015-04-25 13:20:45

标签: php apache .htaccess mod-rewrite

我正在开发自己的PHP框架。我目前正在localhost上开发它,与项目相关的所有内容都在名为RuddyPhpFramework的子文件夹中,因此路径如下所示:

本地主机/ RuddyPhpFramework /

在该文件夹中,我确实有index.php,整个框架的初始点。我目前正在使用自己的路由器,但我有两个问题。首先,在Apache的htaccess文件中,有一个:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) RuddyPhpFramework/index.php [L]

所以每当有人访问这样的页面时:

本地主机/ RuddyPhpFramework /东西/ smtelse /

index.php将初始化应用程序并为我回显路径,即:

[path] => /RuddyPhpFramework/something/smtelse/

但这并不是我想要的。我想要的是获得子文件夹的相对路径(我不知道我是否正确解释了这一点),例如:

[path] => /something/smtelse/

另一个问题是我想设置htacces,所以最后一行看起来像这样:

RewriteRule (.*) index.php [L]

所以它将在文件夹中的index.php中找到htaccess文件(/RuddyPhpFramework/index.php)而不是/index.php,而不指定foler,因为如果其他人将使用该框架,他可能会把它放在一个名字不同的文件夹中。

1 个答案:

答案 0 :(得分:0)

首先请停止我们已经有了enouth框架。现在关于你的问题。你的项目在localhost / RuddyPhpFramework中,所以htaccess从第一个读取url /所以他跳过localhost因为它的域名和taiks uri女巫从/开始

因此您的项目设置不正确。什么你可以尝试不舒服100%:

RewriteEngine On
RewriteBase /RuddyPhpFramework/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php [L]

请试一试。并说它有帮助。