2014-06-20 59 views
0

我有我的网址这样URL重写了POST /删除/ PUT

http://10.243.123.1/v1/data/register 

我想重定向/重写URL以便

https://10.243.123.1/data/register (This is HTTP POST/PUT/DELETE url) 

1.should remove v1 and make https 

2.If url does not contains v1 then just make https alone. 

应该在httpd.conf文件中添加什么规则?

规则是否转到httpd.conf或.htacccess文件?

请分享你的想法

回答

1

将这个代码在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} \s/+v1/(\S+) [NC] 
RewriteRule^https://%{HTTP_HOST}/%1? [R=302,L,NE] 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NE] 

RewriteRule !^v1/ /v1%{REQUEST_URI} [NC,L] 
+0

难道这项工作呢? – anubhava

+0

感谢您的回复,获取此错误http://10.100.1.111/v1/data/messages

HTTP状态405 - 不支持请求方法'GET'

http https操作但v1消除不起作用。 –

+0

这绝对不是由这些规则产生的。你的.htaccess或Apache配置中是否有其他规则? – anubhava