2012-01-05 146 views
0

我在做什麼的快速總結 - 大型網站可怕的定製CMS正在擴大,以應付不止一個城市,他們充滿了拒絕使用子域名,並希望有幾個城市如下:相對URL破解.htaccess解決方案?

www.example.com/cityx/ 
www.example.com/cityy/ 
www.example.com/cityz/ 

整個CMS將從根URL移動到子文件夾並複製到每個城市,該網站使用相對URL(如「/css/style.css」和「/js/jquery.js」)編寫。我會單獨修改每個文件,但有超過300個php文件需要處理!

在.htaccess中有沒有辦法更改任何相關URL以轉到新的根目錄?即將相對路徑重定向到www.example.com/cityx/?

回答

0

我不知道你想實現什麼,但這裏是我知道的,你可以這樣做:

Options -Indexes 
Options +FollowSymLinks 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^css/(.+)$ cityx/css/$1 [R=302,NC] 
</IfModule> 

不過,我認爲你要每個城市都有自己的CSS文件?在這種情況下,我很懷疑這是否可能。

我不確定你正在採取的策略是否也是最好的方法。您是在說,您是通過爲每個城市複製CMS來擴展CMS嗎?將城市整合到CMS本身並使用htaccess將子目錄(例如/ cityx/cityy)重寫爲其相關CMS頁面(例如/index.php?city=cityx)或類似內容會更好嗎?我不是最後一次需要更新CMS中的某些內容,因此將來您所做的任何更改都必須在所有城市進行復制。食物的思想。

另外,最後想到,如果一個CMS有300頁,你必須改變只是改變鏈接到CSS和JS文件,那麼它可能是一個可怕的軟件!沒有網站應該有多個引用單個CSS或JS文件,如果有不同的頭文件或者其他東西,可能兩個或三個,但有300個單獨的文件,這些引用是荒謬的。是時候改變一些更好的軟件了。 :)

+0

老實說,客戶正在爲我們做這個地獄 - 我們想要一個快速的解決方案,然後再跑到山頭! CMS是我一生中見過的最令人費解的,噩夢般的軟件。最糟糕的是,在我們超出預算之前,我們只剩下一週的資金來完成這項工作。你是正確的,每個網站都有自己的CSS等,這不是我會做事情的方式,但我們從另一家公司發誓繼承這些代碼。如果我找不到.htaccess解決方案,我必須嘗試說服客戶端使用子域名 – 2012-01-05 11:35:15

+0

嗯......我懷疑有一種方法可以做到這一點。因爲它們是相對於根的,所以在htaccess獲得它的控制權時,沒有可靠的方法來找出請求是從哪個城市子目錄中進行的。您可能能夠使用引薦來破解某些內容,但那些知識結束的地方我很害怕。無論如何,這一週的資金投入似乎有點短。可能值得回到客戶手中,解釋情況(讓他們知道未來的維護需要更長的時間和更多的成本),並看到他們說什麼。 – 2012-01-05 11:59:05