好吧,我的項目是將一箇舊的靜態網站變成一個動態的網站。舊網站中有大約40頁。htaccess重定向
現在,新格式將採用2種語言,未來可能會有更多。
有2套的URL實際上是:
- 的基本要點:/index.html,/about.html,/contact.html
- 休息:/folder1/page1.html,/文件夾1/page2.html,/folder3/page3.html等
客戶希望第二語言具有相同的模式作爲默認的一個:
- 日C基本的:/ 語言 /index.html,/ 語言 /about.html,/ 語言 /contact.html
- 休息:/language/folder1/page1.html,/語言/文件夾1/page2.html,/language/folder3/page3.html等
基本的網頁,我可以用htaccess的重寫:
# default language
RewriteRule ^about.html$ about.php?language= [NC,L]
#other language
RewriteRule ^([^/]+)/about.html$ about.php?language=$1 [NC,L]
至於我被困在頁面的其餘部分。
在我的數據庫中,我保存了現有的網址及其內容。
例如,對於基本的語言:
/folder1/page1.html將dynamicpage1.php語言= & URL = /文件夾1/page1.html
/文件夾2/2頁提供服務。 HTML將dynamicpage1.php?語言= &地址送達= /文件夾2/page2.html
/folder3/page3.html將dynamicpage2.php?語言服務= & URL =/folder3/page3.html
而對於其他語言:
/([^/]+)/folder1/page1.html將dynamicpage1.php送達語言= $ 1 & URL = /文件夾1/page1.html
/([^ /] +)/ folder2/page2.html將由dynamicpage1.php?語言= $ 1 & url =/folder2/page2.html
/([^ /] +)/ folder3/page3。 html將由dynamicpage2.php?語言= $ 1 & url =/folder3/page3.html
如何構建這些規則?
如果我嘗試:(。*)?重寫規則^([^ /] +)/ $ subservices.php語言1 & = $ URL = $ 2,它失敗
1)你是什麼意思「失敗」? 2)'subservices.php'腳本是做什麼的? - 據我瞭解,它將決定運行哪個動態頁面,對嗎? – LazyOne