网站的文件夹组织

时间:2015-06-06 02:02:22

标签: html apache mod-rewrite

在我的website中,我有一个家庭HTML文件。然后,当我点击导航中的某些内容时,例如Roster,该网址将更改为http://www.nextgengaming.org/Roster/roster.html。我怎么能阻止这个?我并不担心延期,因为我可以在以后摆脱它。这是我在构建网站时使用的文件/文件夹设置(请注意我在'花名册'的html文件中没有任何内容,因为我现在正专注于网址):

Website
  ∟ Home
    ∟ CSS
      HEADER (social icon images)
      home_files (for my image slider)
      IMG (the rest of my images)
      home.html
      home.js

  ∟ Roster
    ∟ roster.html

我将用相同的东西填补名单。在我的导航中我有

<li><a href="../Roster/roster.html">Roster</a></li>

所以网址是(如前所述)http://www.nextgengaming.org/Roster/roster.html,并希望将其更改为

http://www.nextgengaming.org/Roster

http://www.nextgengaming.org/roster.html

如果您需要更多信息,请发表评论。另外,我不确定这是否适合发布,但我会抓住机会。

2 个答案:

答案 0 :(得分:0)

只需使用默认扩展程序(通常为index.html),并将网址更改为:http://www.nextgengaming.org/Homehttp://www.nextgengaming.org/Roster

结构将是:

Website
  ∟ Home
    ∟ CSS
      HEADER (social icon images)
      home_files (for my image slider)
      IMG (the rest of my images)
      index.html
      home.js

  ∟ Roster
    ∟ index.html

如果你不喜欢重命名这样的文件,那么更高级的approch就是使用URL重写(例如使用.htaccess)。

答案 1 :(得分:0)

  

网址更改为http://www.nextgengaming.org/Roster/roster.html如何停止此操作?

建议的方法是通过添加

来修改 VirtualHost .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [L]

请注意,必须启用rewrite模块(sudo a2enmod rewrite)。说到DirectoryIndexdocumentation here),它会搜索

index.html index.htm default.htm index.php index.php3 index.phtml index.php5 index.shtml mwindex.phtml

如果没有资源存在且设置了Indexes选项,服务器将生成自己的目录列表。 Indexes可能会导致安全威胁(公开所有文件),因此请使用

Options -Indexes

要避免这种情况。如果按照说明操作,

http://www.nextgengaming.org/Roster/roster.html

将被重写为

http://www.nextgengaming.org/Roster/roster

要避免Roster/roster并且只有rosterroster.html放在DocumentRoot可能正好接下来home.html