2012-07-02 2 views
1

, так что я играл с правилами, пытаясь преобразовать их, правила pinnect сценария являются:правила HTAccess Pinnect к Nginx

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 

#RewriteBase/

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

# fix for uploadify 302, 406 errors 
SetEnvIfNoCase Content-Type "^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads" 

У меня есть pinnect на pinnect/на сервере, однако VB работает по индексу на данный момент,

Я попытался

location /pinnect { 
    try_files $uri $uri/ /index.php; 
} 

И различные варианты, которые, однако, скажем я иду к/каталог установки - он пытается перенаправить меня pinnect/forums.php (быть причина VB), если я попытаюсь напрямую обратиться к index.php, возникает бесконечный цикл, любой может дать мне руку с этим?

EDIT:

Так что у меня есть это правило, в настоящее время

location ~ ^/pinnect/index.php { try_files maintenance.html @index.php; } 

location ~ ^/pinnect/ { 
     rewrite ^/pinnect$            /pinnect/index.php  last; 
     rewrite ^/pinnect/$            /pinnect/index.php  last; 
     #rewrite ^/pinnect/([^.]+)$          /pinnect/index.php/$1 last; 
     rewrite ^/pinnect/(.*)          /pinnect/index.php/$1 last; 

} 

Однако, где когда-либо я иду, я получаю 301, 302, так что это не ведет себя так же, как HTAccess, может кто-нибудь помочь ?

+0

Hi! Какой статус HTTP вы ожидаете? –

+0

Как я получил -1, я думаю, что не понял вопроса: D Хорошо ли работают перенаправления, даже если вы ищете переписать и не перенаправлять? Любая точность? –

+0

Можете ли вы показать свою полную конфигурацию? Это будет трудно помочь, пока не ясно, как вы обрабатываете php и какие местоположения уже существуют. – VBart

ответ

-1

Если это всего лишь вопрос возврата кода состояния, вам может потребоваться инструкция return на вашем блоке location.

location ~ ^/pinnect/index.php { try_files maintenance.html @index.php; } 

location ~ ^/pinnect/ { 
     rewrite ^/pinnect$            /pinnect/index.php  last; 
     rewrite ^/pinnect/$            /pinnect/index.php  last; 
     #rewrite ^/pinnect/([^.]+)$          /pinnect/index.php/$1 last; 
     rewrite ^/pinnect/(.*)          /pinnect/index.php/$1 last; 

     return 200;  
} 

Read more…

Как мы здесь, вы должны заменить last на break, так как у вас есть инструкции в виде location блока.

Кроме того, вы можете использовать ? вместо (.*), чтобы удалить исходные аргументы.

Read more…

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