Php .htaccess mod_重写重定向问题

Php .htaccess mod_重写重定向问题,php,.htaccess,Php,.htaccess,我最近遇到了一个问题,用.htaccess重定向用户,不知道是否有人能帮我 1.背景: 我现在有一个相当长的域名,为了这个问题,让我们称它为mylongdomainname.com现在在这个域名上,我有一个子域名,用来存放文件、图片等,以显示朋友或与他人共享这是files.mylongdomainname.com 现在很明显,URL可以很长,因为我有不同的目录和文件。因此,为了帮助减少空间,我购买了另一个短域名,让我们将其称为small.me,现在我要做的是使用.htaccess和一个简单的PH

我最近遇到了一个问题,用.htaccess重定向用户,不知道是否有人能帮我

1.背景: 我现在有一个相当长的域名,为了这个问题,让我们称它为
mylongdomainname.com
现在在这个域名上,我有一个子域名,用来存放文件、图片等,以显示朋友或与他人共享这是
files.mylongdomainname.com
现在很明显,URL可以很长,因为我有不同的目录和文件。因此,为了帮助减少空间,我购买了另一个短域名,让我们将其称为
small.me
,现在我要做的是使用.htaccess和一个简单的PHP文件将
small.me
重定向到
files.mylongdomainame.com
并传递一个文件引用

例如:
small.me/pictures/example.jpg
应重定向到
files.mylongdomainame.com/pictures/example.jpg

2.问题 基本上,我不确定完成这项工作需要的确切重写规则。显然,我需要一个规则,允许使用GET方法将
small.me/
之后的任何内容发送到索引文件,然后相应地重定向用户。这意味着重写规则必须允许使用所有字母、数字和有效的文件名符号。我相信这很简单,但在看了一些教程和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.jpg

所需URL:
http://small.me/pictures/me/troll.jpg

删除PHP文件,只需将其放入
small.me
的htaccess:

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

.htaccess文件中的以下内容应是您所需的全部内容(无需PHP文件):


有关更多信息和示例,请参见

非常感谢,我接受了Andres的回答,因为他是第一个发布的。不过还是要谢谢你!非常感谢,我已经接受了安德烈的回答,因为他是第一个发帖的人。不过还是要谢谢你!
RewriteRule ^(.*) http://files.mylongdomainname.com/$1 [RL]