2013-08-01 76 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