iT邦幫忙

0

apache rewrite 跳轉目錄夾問題

  • 分享至 

  • xImage

各位好,

我在 web server 上有兩個目錄夾: /var/www/abc/public 及 /var/www/def/public
在apache 的設定檔中根目錄指定為: DocumentRoot /var/www
要如何使用 rewrite 功能做到,在網址中 https://xxxx.com.tw/aaa 跳轉到/var/www/abc/public,
網址 https://xxxx.com.tw/bbb 跳轉到 /var/www/def/public 中。

謝謝。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
japhenchen
iT邦超人 1 級 ‧ 2021-05-31 17:00:24
最佳解答

rewrite 不該這樣做虛擬對實體路徑的更動,因為瀏覽器看不懂實體路徑

你應該是在PHP裡取得實體路徑才是

<?php
echo $_SERVER['DOCUMENT_ROOT'];

pohsien08 iT邦新手 5 級 ‧ 2021-05-31 17:18:04 檢舉

請問有沒有辦法可以在 apache 上完成依據網址字串不同切換目錄?
謝謝。

你的apache上跑的後端語言是php沒錯吧?如果是,直接把用戶request的網址字串代換即可

<?php
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
//上段取得完整網址

$path = parse_url($actual_link, PHP_URL_PATH);
//上行取得網頁相對路徑 

$fullpath = $_SERVER['DOCUMENT_ROOT'] . $path;
// 這個fullpath應該就是你要的東西了,做個test.php試試
?>
pohsien08 iT邦新手 5 級 ‧ 2021-06-01 10:00:22 檢舉

謝謝大大

我要發表回答

立即登入回答