2016-02-24 5 views
1

У меня есть один веб-сайт, в котором я получаю данные с использованием правила htaccess, но он всегда перенаправляется на страницу, которая не найдена. Если я использую прямой URL вместо htaccess url, тогда он работает нормально.PHP htaccess страница перенаправления не найдена

Nice URL: http://apis.jaspee.com/services/getCMS?pageid=2

Real URL: http://apis.jaspee.com/services/srvcRest.php?rqst=getCMS&pageid=2

.htaccess код:

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-s 
    RewriteRule ^(.*)$ srvcRest.php?rqst=$1 [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^(.*)$ srvcRest.php [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -s 
    RewriteRule ^(.*)$ srvcRest.php [QSA,NC,L] 
</IfModule> 

<Limit GET POST PUT DELETE> 
    Allow from all 
</Limit> 

Можно ли сказать, что не так я делаю?

+0

В славном URL вы получили из параметров с именем 'id' но второй URL ожидает пары с именем' pageid'. Поэтому вместо 'http: //apis.jaspee.com/services/srvcRest.php? Rqst = getCMS & pageid = 2 вы получаете' http://apis.jaspee.com/services/srvcRest.php?rqst=getCMS&id = 2' –

+0

извините, это моя ошибка. У вас есть страница .. –

ответ

1

Вы не хотите services/ быть отправлены на ваш параметр rqst:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-s 
    RewriteRule ^services/(.*)$ services/srvcRest.php?rqst=$1 [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^services/(.*)$ services/srvcRest.php [QSA,NC,L] 

    RewriteCond %{REQUEST_FILENAME} -s 
    RewriteRule ^services/(.*)$ services/srvcRest.php [QSA,NC,L] 
</IfModule> 

<Limit GET POST PUT DELETE> 
    Allow from all 
</Limit> 
+0

Жаль, флорист, но не работает :( –

Смежные вопросы