2011-04-06 62 views
1

我想使用.htaccess文件返回主頁(index.html)如果直接訪問網站(無參數)和index.php /子目錄/。 ...如果其他環節使用.htaccess服務index.html或index.php

例如:

my_site.com顯示的index.html

my_site.com/dir1/dir2/必須重定向與參數的index.php DIR1/DIR2 ..

請幫忙創建這個.htaccess文件

我在現有的文件這樣的:

RewriteEngine敘述在

重寫規則^ | $的index.php [L]

的RewriteCond%{} REQUEST_FILENAME(*)(HTML的.htm。)! -f

的RewriteCond%{} REQUEST_FILENAME!-d

重寫規則^(。*)/ $的index.php [L]

我想要做的例外,提前進入現場時

感謝

回答

0

嘗試這些規則.htaccess文件,其用於index.html文件:

RewriteEngine on 
Options +FollowSymlinks -MultiViews 

# to redirect my.site.com to my.site.com/index.html 
RewriteRule ^$ /index.html [R,L] 

# to redirect /dir1/dir2 to index.php?url=dir1/dir2 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{QUERY_STRING} !^url= 
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?url=$1/$2 [R,L,QSA] 
+0

謝謝你,它工作在一臺服務器,但在另一個它不起作用 – Sofiane 2011-04-07 13:03:02

+0

@Sofiane:我很難猜測爲什麼上面的代碼在1臺計算機上工作,但不工作在另一臺計算機上。您需要首先比較兩個主機的apache配置,並查看兩個中是否安裝了mod_rewrite。 – anubhava 2011-04-07 13:12:49

+0

mod_rewrite安裝良好,在兩臺服務器上工作正常,我無法驗證第一臺服務器(哪個.htaccess工作正常)中的Apache,因爲它不是專用服務器,但它工作正常。我只需要糾正第二個.htaccess(專用服務器)讓執行index.html if(mysite.com或mysite.com/index.html),並執行index.php到所有其他文件和目錄(mysite.com /page1.html mysite.com/all_directories/../../,mysite.com/all_directories/index.html .....),請幫忙 – Sofiane 2011-04-07 13:54:44

相關問題