1
目前正在爲一家公司做一些URL重寫,我正在努力讓新的URL指向正確的文件。Mod重寫相同的格式,不同的來源
我沒有訪問CMS - 頁面是在兩種格式生成:
- website.com/pressReleases.php?lang=EN
- website.com/page.php?pagename =關於& LANG = EN
我已經使用重寫每個格式,使他們進入相同的所需格式(website.com/language/pagename):
格式1(website.com/pressReleases.php)
RewriteCond %{QUERY_STRING} ^lang=(.*)$
RewriteRule ^(.*).php$ /%1/$1? [L]
格式2(website.com/page.php?pagename=About & LANG = EN)
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /page.php
RewriteCond %{QUERY_STRING} pagename=([^&]+)&lang=([^&]+)
RewriteRule ^page.php$ /%2/%1? [R=301,L]
問題是兩個格式重寫的輸出是相同的,但源文件/路徑是不同的。當我創建另一個重定向到一個不錯的URL轉發給實際源同時適用於:
RewriteRule ^([A-Za-z]+)/([0-9]+)/([a-zA-Z0-9_-]+)$ productSelection.php? groupid=$2&lang=$1 [L]
有什麼辦法,我可以使用兩種類型的URL一樣漂亮的格式,但轉發到原來的路徑?我是否錯誤地構建了我的重寫,這阻止了這一點?
任何幫助非常感謝!