Apache обслуживает разные файлы в зависимости от агента пользователя - PullRequest
0 голосов
/ 30 апреля 2018

Моя проблема Я хочу предоставить другой файл index.html, когда пользователь заходит на мой сайт с мобильного, настольного компьютера или планшета. Я использую Apache и проверил, что я могу сделать это на основе пользовательского агента. Я написал код, но в некоторых случаях применяются неправильные условия (например, для Android с Mobile в настольной версии заголовка пользователя). Также в случае с настольным компьютером все работает нормально, но когда выбран мобильный или планшет, я получу 404. Также я уверен, что код js / html работает во всех случаях, когда я тестировал его локально.

Мой вопрос Является ли регрекс, который я использовал для условий, правильным? Первое, второе и третье не работает. Также у вас есть идея, почему я получаю 404 при попытке получить доступ к мобильному или планшету?

Мой код httpd.conf

<IfModule dir_module>
    <If "%{HTTP_USER_AGENT} in { 'iPhone', 'Android' } and %{HTTP_USER_AGENT} =~ /Mobile/">
    DirectoryIndex mobile/index.html
    </If>
    <ElseIf "%{HTTP_USER_AGENT} in { 'BlackBerry', 'Opera Mini', 'Windows Phone' }">
    DirectoryIndex mobile/index.html
    </ElseIf>
    <ElseIf "%{HTTP_USER_AGENT} in { 'Tablet', 'Android' } and !%{HTTP_USER_AGENT} =~ /Mobile/">
    DirectoryIndex tablet/index.html
    </ElseIf>
    <ElseIf "%{HTTP_USER_AGENT} =~ /iPad/">
    DirectoryIndex tablet/index.html
    </ElseIf>
    <Else>
        DirectoryIndex desktop/index.html
    </Else> 
</IfModule>

структура файла

htdocs --- desktop
                - index.html
                - desktop.bundle.js
       --- mobile
                - index.html
                - mobile.bundle.js
       --- tablet 
                - index.html 
                - tablet.bundle.js
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...