2013-08-01 77 views
0

让我们看看我能否很好地解释情况。我有一个单页网站与屏幕上的所有内容,但隐藏。如果,挂钩,你去 domain.com/product/ about我会采取第一部分去div-column“产品”和div行“约”,与一些JavaScript和CSS定位单页网站.htaccess

问题:我需要我的.htaccess重写所有网址(除ind​​ex.html的OFC)来的index.html(或任何URL我们设置)。

问题内部的问题:此网页是在一个子目录中,故能-probably-处于第二电平的子目录(即,(根)/文件夹/子文件夹/ thisweb)。让我们看看最后一种情况,所以它会比上升更容易。

我有什么:

RewriteEngine on 
Options +FollowSymLinks 
RewriteBase /folder/subfolder/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteCond %{REQUEST_URI} !^index.html 
RewriteRule .* /index.html [L] 

会发生什么:

  • domain.com/subfolder/foo:重定向到domain.com/folder/subfolder/
  • 域.com/subfolder/foo /:在此服务器上未找到请求的URL/er1csports/test/foo /。

与其他规则周围玩,有时我被重定向到父母的文件夹中的index.html。就像如果RewriteRule根本不起作用 - JFYI

我需要什么:

  • 重写,正如我所说的,一切的index.html,没有地址栏改变URL - 它不应该的问题的URL的能级( foo/foo2/foo3也应该重写为index.html)。
  • 图片,CSS,Javascript,一般的资源,如果他们可能不受他们的URL和参考它会很好。
  • 无论URL是什么,“文件夹”都不应该出现在URL地址栏中。 如果我可以告诉如何隐藏“子文件夹”,如果适用的规则在两种情况下都不相同,那么也会很好

我知道,很多东西。但是我讨厌.htaccess,我一直在寻找和搞乱几个小时,而我一直无法找到它。

我会继续寻找并尝试,但我不想要的是写100行时,有一种方法只写10并保持清洁。

非常感谢您的帮助和时间!

回答

0

请尝试在此编码。htaccess:

Options +FollowSymLinks -MultiViews 

RewriteEngine on 
RewriteBase /folder/subfolder/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule . index.html [L] 
+0

您好!感谢您的回答!不幸的是,找不到domain.com/subfolder/foo,并重定向到domain.com/folder/subfolder/foo/。也许模式文件夹中的.htaccess可能会搞乱一些东西? – Unapedra

+1

上面的.htaccess将应用于如下的URL:'domain.com/folder/subfolder/foo'(你的URL在子文件夹之前没有'folder /')然而,父文件夹中存在的.htaccess确实会改变它的行为。 – anubhava