Моя проблема Я хочу предоставить другой файл 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