目录结构和Mod_Rewrite

时间:2012-11-07 20:17:11

标签: mod-rewrite directory hyperlink structure relative-path

我根据每个函数子目录的想法设计了一个php / mysql / query,所以我的目录结构如下所示:

的public_html \

 ..users\ (all user related files are in this folder)
 ..events\ (all event related files are in this folder)
 ..groups\ (all group related files are in this folder)
 ..layouts\ (global header, global footer, and global navigation include files are in here)

用户,事件或组文件夹中的任何页面都包含页眉,页脚和导航文件,因此它们都保留主题。因此,导航文件将所有链接设置为 ../functionfolder/file.php“并且它可以解决,因为你通常在一个功能文件夹中。

但是我忘记了public_html中的索引文件,当我从那个目录(不是子文件夹)中包含我的页眉,页脚和导航时,“../”混乱了。

我已经创建了一个单独的导航文件,它可以使高级目录中的文件工作,但我意识到我的所有图片和脚本包含都搞砸了。 (创建了一个单独的nav包含没有“..”的)

我认为可能是一个解决方案: 不要使用index.php文件的主目录,但创建一个名为home的目录并将索引文件放在那里,这样一切都会解决。 (public_html / home / index.php vs public_html / index.php) (不确定这将如何解决域名)

我还看过绝对与相对的链接,但最终却在我的电脑上工作,然后上传它们?

任何人都有想法可以提供帮助吗?

更新: 会有类似的工作吗?

# Turn on rewrites.
RewriteEngine on

# Only apply to URLs on this domain
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$

# Only apply to URLs that aren't already under folder.
RewriteCond %{REQUEST_URI} !^/folder/

# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all those to insert /folder.
RewriteRule ^(.*)$ /folder/$1

# Also redirect the root folder.
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ folder/index.php [L]

0 个答案:

没有答案