我最近對我的網站的文件夾結構做了一些小的修改,現在我的一個重寫程序看起來壞了。.htaccess子域到文件夾
在過去,我在public_html中創建了一個/mydomain.com/文件夾,其中創建了一個wiki。在同一個文件夾中有一些我用於子域訪問的文件夾,如成員和文件。
的舊體制:
#www to main website
RewriteCond %{HTTP_HOST} ^www.mydomain.com$
RewriteRule ^(.*)$ mydomain.com/$1 [L]
#subdomain to folder (members. => /members/, files. => /files/, etc)
RewriteCond %{HTTP_HOST} ^(.*).mydomain.com$
RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteRule ^(.*)$ mydomain.com/%1/$1 [L]
相當容易,而當我在files.mydomain.com/myfile.zip輸入它的工作沒有任何問題。
最近我安裝我的wiki的幾種語言(這實際上是不相關的問題,但只是爲了闡述的情況),我做了如下規則:
#to the right language folder (www = en)
RewriteCond %{HTTP_HOST} ^(www|nl|es).mydomain.com$
RewriteRule ^(.*)$ mydomain.com/%1/$1 [L]
#subdomain to folder (members. => /members/, files. => /files/, etc)
RewriteCond %{HTTP_HOST} ^(.*).mydomain.com$
RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteRule ^(.*)$ mydomain.com/misc/%1/$1 [L]
顯然,維基百科不同的語言是設置在mydomain.com/www/,mydomain.com/es/等,這工作得很好。 問題出在第二部分,子文件夾。在同一個mydomain.com/文件夾中,我創建了一個misc /文件夾來存儲所有misc內容(包括子域文件夾)。我想只是在路徑中添加/ misc /(就像我在第一條規則中添加語言文件夾名稱)會使其工作..但它給我一個500錯誤。 舊的安裝程序和新安裝程序都沒有任何可能與第二條規則衝突的任何文件夾中的.htaccess行。
任何人都可以發現錯誤,或告訴我如何系統地檢查此設置的錯誤?
我希望您的舊設置和新設置都能生成500錯誤。您的舊設置是否在關閉'mod_rewrite'或其他東西的子目錄中包含'.htaccess'文件? – 2010-08-24 15:18:51
嗯,不,據我所知只是一些mediawiki特定的規則(只適用於/ wiki /包含在URI中)。你爲什麼期望這個錯誤? – 2010-08-24 15:26:50
您的規則將導致無限重定向循環。在你的Apache錯誤日誌中,它可能表示類似「由於可能的配置錯誤,請求超過了10個內部重定向的限制」? – 2010-08-24 15:44:15