Что я хочу сделать;
Я хочу, чтобы мобильные пользователи были перенаправлены на http://m.site.org/mobile-home.
Перенаправление на m.bzaeds.org не является проблемой. У меня также это нормально работает в Apache, но то же правило .htaccess, которое у меня есть в apache, похоже, не работает в NGINX. Я также пытался преобразовать это точное правило с помощью переводчика NGINX, но правило, которое он мне дал, тоже не сработало.
RewriteCond %{HTTP_HOST} m.site.org
RewriteCond %{REQUEST_URI} ^\/?$
RewriteRule ^(.*)$ mobile-home [L]
Что я сделал до сих пор;
Итак, у меня NGINX перенаправляет на m.site.here/mobile-home. Теперь мы используем модуль Mobile, который определяет, является ли подключенное устройство мобильным устройством, и автоматически применяет настраиваемую мобильную тему. Он без проблем обнаруживает, является ли устройство мобильным.
Однако он не загружается, даже если перенаправление работает, и я просмотрел error_log и заметил, что он не работает, потому что / var / www / html / drupal / mobile-home не существует - что, да, верно. Я предполагаю, что это как-то связано с тем, что mobile-home фактически является узлом, потому что это то, что страницы в drupal.
Однако, как бы я ни пытался создать перенаправление (или вернуть 301), он либо был запрещен, бесконечный цикл переадресации обреченности, либо вызывал вышеупомянутую ошибку.
Любые идеи?
А вот и множество путаниц, которые я пробовал до сих пор;
location / {
#if ($http_user_agent ~* '(iPhone|iPod|android|blackberry)') {
# rewrite ^/(.*)$ /index.php?q=$1;
#}
#if ($http_host ~ "m.bzaeds.org"){
#rewrite ^(.*)$ /mobile-home [L] RewriteCond $request_filename !-f;
#}
try_files $uri @rewrite;
#try_files $uri /mobile-home break;
}
location @rewrite {
#index index.php;
# if ($http_user_agent ~* ('iPhone|iPod)') {
# rewrite ^(.*)$/index.php http://m.bzaeds.org/mobile-home$1 break;
# }
# Some modules enforce no slash (/) at the end of the URL
# Else this rewrite block wouldn't be needed (GlobalRedirect)
rewrite ^/(.*)$ /index.php?q=$1;
#return 301 /mobile-home break;
(И я также попытался избавиться от location @rewrite и просто выполнил основную перезапись в location /, но у меня все еще было много тех же ошибок. Я только что выполнил этот оператор в своей немобильной версии, поэтому , ммда.)
Итак, я сделал это не так, как я в конечном итоге хотел, с перенаправлением, потому что, что бы я ни пробовал, он все равно не переставал искать в неправильном месте. Однако я обнаружил, что если вы используете модуль «Мобильные инструменты», он дает вам возможность в разделе «Первая страница» установить его как узел, в нашем случае мобильный дом, а не индекс.
Проблема устранена, проблема решена, достаточно хорошо.