Apache URL为子域重写

时间:2014-01-17 18:29:48

标签: apache .htaccess rest rewrite epiphany

我正在努力实现以下目标:

subdomain.domain.com/some/path发出的HTTP请求应重写为domain.com/subdomain/api.php?__route__=some/path

这是要求Epiphany库正常运行并正确处理RESTful API调用的要求。我的网站目前托管在GoDaddy上,我已使用GoDaddy网络界面设置subdomain.domain.com指向domain.com/subdomain。我已将以下文本放在子域目录下的.htaccess文件中:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ api.php?__route__=/$1 [L,QSA]

当我尝试对RESTful API进行任何调用时,我收到了标准的500内部服务器错误。

不幸的是,在GoDaddy允许我访问任何Apache日志文件之前,我必须等待几个小时。任何想法为什么这不起作用?

修改

为了澄清,我希望进行以下重写:

internal.ledworld-me.com/some/path => ledworld-me.com/internal/api.php?__route__=/some/path

目前,GoDaddy已用于将internal.ledworld-me.com映射到ledworld-me.com/internal。我开始认为我应该从GoDaddy方面删除映射,并仅依靠mod_rewrite来实现这一点。

1 个答案:

答案 0 :(得分:0)

将此代码放入DOCUMENT_ROOT/internal/.htaccess文件中:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ api.php?__route__=/$1 [L,QSA]