.htaccess mod_rewrite重定向问题

时间:2011-10-21 14:08:32

标签: php .htaccess

我目前在使用.htaccess重定向用户时遇到了一些问题,并且想知道是否有人可以帮助我。

1。背景

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

实施例: files.mylongdomainname.com应重定向到small.me/pictures/example.jpg

2.问题

基本上我不确定我需要准确的重写规则来完成这个。显然我需要一个规则,允许files.mylongdomainname.com/pictures/example.jpg之后的任何内容与GET方法一起发送到索引文件,然后相应地重定向用户。这意味着重写规则必须允许使用所有字母,数字和有效文件名符号。我确信它很简单,但在查看了一些教程和mod_rewrite帮助网站后,我仍然不知道如何实现这一目标。

3。守则

的.htaccess

small.me/

明显错误

的index.php

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

4。备注

我知道我可以使用URL缩短器,但因为我很尴尬我宁愿它只是通过我自己的域,所以请不要评论或回答告诉我使用缩短器或使用像这样的服务收存箱。


通过提供正确的规则,任何人都可以帮助我吗?非常感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

在.htaccess中你可以简单地使用:

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

如果您正在尝试这样做,则无需PHP文件。

答案 1 :(得分:1)

假设你想要这个:

要分享的图片:http://files.mylongdomainname.com/pictures/me/troll.jpg

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

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

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

答案 2 :(得分:1)

.htaccess文件中的以下内容应该是您所需要的(不需要PHP文件):

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

有关更多信息和示例,请参阅mod_rewrite documentation