2013-03-28 53 views
1

我创建了一个通行证。当我将它添加到设备中时,我需要将其注册到我的服务器。我使用的.htaccess的代码:重写规则或其他东西的错误

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

我把这个文件https://"myIP"/passesWebserver/和pass.json,我补充一下:"webServiceURL" : "https://"myIP"/passesWebserver/"

我不知道我有.htaccess文件,否则什么问题?

+0

现在我改变内容的.htaccess,但仍然无法正常工作! “选项+了FollowSymLinks + ExecCGI RewriteEngine叙述在 重写规则^ $的index.html [QSA] 重写规则^([^。] +)$ $ 1.HTML [QSA] 的RewriteCond%{REQUEST_FILENAME} !-f RewriteRule ^(。*)$ index.php [QSA,L] ' – malinchhan 2013-03-28 06:31:08

回答

0

这适用于我:
RewriteEngine On RewriteRule ^(.+)/devices/(.+)/registrations/(.+)$ index.php?request=$1/devices/$2/registrations/$3 [L] RewriteRule ^(.+)/passes/(.+)$ index.php?request=$1/passes/$2[L] RewriteRule ^(.+)/log$ index.php?request=$1/log [L]

0

将以下内容放入您的passesWebserver文件夹中的.htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ passesWebserver/index.php [L] 

更新

为了测试它的工作,当你访问http://"myIP"/passesWebserver/v1/devices/xxx/registrations/pass.abc.def.ghi/yyy您应该看到创建包含

<?php 
$request = explode("/", substr(@$_SERVER['REQUEST_URI'], 1)); 
echo '<pre>' . print_r($request, true) . '</pre>'; 

然后一个简单的index.php文件:

Array 
(
    [0] => passesWebserver 
    [1] => v1 
    [2] => devices 
    [3] => xxx 
    [4] => registrations 
    [5] => pass.abc.def.ghi 
    [6] => yyy 
) 
+0

yes!我在.htaccess中编写了这些代码,并且已经将它们放在了passWebserver中,但是在添加了一个pass之后,它不会重定向到index.php! – malinchhan 2013-03-28 09:08:27

+0

为什么它会重定向到index.php。此页面仅用于响应Web服务。查看如何测试它正在工作的更新答案。 – PassKit 2013-03-28 09:52:23

+0

我使用“print_r($ _ SERVER ['REQUEST_URI']);”为了得到什么设备发送,但它不显示,那么如何访问http:// ip/....? – malinchhan 2013-03-28 10:14:00