簡體   English   中英

.htaccess mod_rewrite重定向問題

[英].htaccess mod_rewrite redirect issue

我目前在使用.htaccess重定向用戶時遇到了一些問題,並且想知道是否有人可以幫助我。

1.背景:

我目前有一個相當長的域名,為了這個問題讓mylongdomainname.com現在在這個域上引用它作為mylongdomainname.com我有一個子域,我用來托管文件,圖片等,以顯示朋友或與人分享這是files.mylongdomainname.com現在顯然URL很長,因為我有不同的目錄和文件。 所以為了減少我購買另一個短域的空間,讓我們把它稱為small.me現在我想做的是使用.htaccess和一個簡單的PHP文件將small.me重定向到files.mylongdomainname.com並傳遞在文件參考上。

示例: small.me/pictures/example.jpg應重定向到files.mylongdomainname.com/pictures/example.jpg

2.問題

基本上我不確定我需要准確的重寫規則來完成這個。 顯然我需要一個規則,允許將small.me/之后的任何內容與GET方法一起發送到索引文件,然后相應地重定向用戶。 這意味着重寫規則必須允許使用所有字母,數字和有效文件名符號。 我確信這很簡單,但在看了幾個教程和mod_rewrite幫助網站后,我仍然不知道如何實現這一點。

3.守則

的.htaccess

RewriteEngine on
RewriteRule ^$ index.php?file_location=$1 [L]

顯然錯了

的index.php

<?php

    //Get the requested files location.
    $file_location = $_GET['file_location'];


    //Redirect the user to the file.
    header('refresh:2; url=http://files.mylongdomainname.com/' . $file_location);

?>

4.備注

我知道我可以使用URL縮短器,但因為我很尷尬我寧願它只是通過我自己的域,所以請不要評論或回答告訴我使用縮短器或使用像dropbox這樣的服務。


那么,任何人都可以通過提供正確的規則來幫助我嗎? 任何幫助深表感謝。

在.htaccess中你可以簡單地使用:

RewriteRule ^(.*)$ http://small.me/?$1 [L]

如果您正在嘗試這樣做,則無需PHP文件。

假設你想要這個:

圖片分享: http://files.mylongdomainname.com/pictures/me/troll.jpghttp://files.mylongdomainname.com/pictures/me/troll.jpg

所需網址: http://small.me/pictures/me/troll.jpghttp://small.me/pictures/me/troll.jpg

刪除PHP文件,只需將其放在small.me的htaccess中:

RewriteRule ^\/?(.*)$ http://files.mylongdomainname.com/$1 [NC,L]

您的.htaccess文件中的以下內容應該是您所需要的(不需要PHP文件):

RewriteRule ^(.*) http://files.mylongdomainname.com/$1 [RL]

有關更多信息和示例,請參閱mod_rewrite文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM