one.com 网络空间上的 htaccess
Posted
技术标签:
【中文标题】one.com 网络空间上的 htaccess【英文标题】:htaccess on one.com webspace 【发布时间】:2014-10-04 17:20:43 【问题描述】:最近我将我的网站移到了托管商 one.com。他们已经建立了一个自动化机制(我不知道他们用什么来实现这一点)将网络空间上的任何一级文件夹重写为子域。
即文件夹http://example.com/folder1/
也将作为http://folder1.example.com/
使用
现在,我有一个网站,它使用大量 javascript 来包含来自 硬编码、静态源的页面。由于 SOP,脚本的工作取决于它们使用的硬编码参考。
所以,为了确保每个人都能获得网站的工作版本,我也想将 direct 文件夹访问重定向到子域。
我的 htaccess - 在本地和各种 htaccess-testers 上工作 - 似乎不适用于 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
对比
RewriteEngine on #does work
【问题讨论】:
【参考方案1】:您需要检查实际请求是针对 /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]
【讨论】:
有效点 - 但实际的解决方案要简单得多。只是一个案例问题:-)以上是关于one.com 网络空间上的 htaccess的主要内容,如果未能解决你的问题,请参考以下文章