在one.com网站空间上的htaccess

时间:2014-08-11 19:19:33

标签: .htaccess rewrite

最近我将我的网站移到了主机 one.com 。他们已经设置了一个自动机制(我不知道他们用来实现它的目的)来将网站空间上的任何第一级文件夹重写为子域。

即。文件夹http://example.com/folder1/也可用作http://folder1.example.com/

现在,我有一个网站,它使用了很多javascript来包含来自硬编码,静态源的网页。由于 SOP ,脚本正在运行,具体取决于它们使用的硬编码引用。

因此,为了确保每个人都能获得该网站的工作版本,我还希望将直接文件夹的访问权限重定向到子域名。

我的htaccess for this - 这是在当地和各种htaccess测试人员那里工作 - 似乎没有与one.com合作:

RewriteEngine On 
#Rewrite Access to folder1-folder to subdomain.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/folder1.*?$ [NC]
RewriteRule .* http://folder1.example.com/ [R=301,L]

由于我不知道one.com用于实现上述行为的确切机制,因此可能与我的规则发生冲突。

支持说,所有使用过的命令都得到了完全支持,因此无法分辨出出了什么问题......

有没有人遇到过类似的东西并且有提示?


刚刚找到了解决方案:

RewriteEngine On #does not work

VS

RewriteEngine on #does work

1 个答案:

答案 0 :(得分:0)

您需要检查实际请求是否为/folder/而不是URI(可以在内部重写)。尝试:

#Rewrite Access to folder1-folder to subdomain.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /+folder1/ [NC]
RewriteRule ^folder1/(.*)$ http://folder1.example.com/$1 [R=301,L]