다른 사람과 앱 이벤트를 공유하기 위해 Apple 범용 링크를 사용하는 웹 사이트가 있습니다. 앱이 설치되지 않은 기기에서 이벤트 링크를 열면 사용자가 다운로드 할 수있는 사이트가 표시되어야하지만 주소도 동일하게 유지되어야합니다. 그 이유는 메신저와 같은 앱 내에서 범용 링크가 열릴 때이 페이지가 표시되기 때문입니다. 여기에는 사용자에게 "사파리에서 열기"를 누르라는 레이블이 있습니다. 해당 버튼을 누르면 앱을 올바르게 열려면 safari에서 초기 링크를 열어야합니다.
웹 사이트는 다음과 같습니다.
www.website.com/event/ <event_id_wildcard>
그러면 사용자에게 사이트가 표시됩니다.
주소 표시 줄에 초기 링크를 유지하면서.
.htaccess 파일을 사용하여이 작업을 수행해야합니다. 서버를 직접 호스팅하는 것이 아니라 웹 호스팅 서비스를 통해 호스팅하므로 더 깊은 설정을 변경하는 것은 어렵습니다.
나는 운없이 다른 사람들 사이에서 다음 질문을 보면서 RewriteEngine
RewriteCond
및 을 사용하려고했습니다 RewriteRule
.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^/event/.*$
RewriteRule ^(.*)$ http://website.no/invite [P,NC,QSA]
이것은 다소 시급한 문제이며 다양한 플래그를 이해할 시간이 없었습니다.
주소 표시 줄의 URL을 변경하지 않고 와일드 카드 하위 도메인을 하위 디렉터리로 리디렉션
htaccess를 사용하여 와일드 카드 문자로 경로를 리디렉션하는 방법
https://gist.github.com/ScottPhillips/1721489
** 업데이트 **
전체 .htaccess :
# Begin
RewriteEngine on
<Files "apple-app-site-association">
ForceType 'application/json'
</Files>
# Handle wildcard links
#RedirectMatch 301 ^/event/.*$ http://www.website.no/invite
RewriteRule ^event/[\w-]+/?$ invite [L,NC]
# Enforce SSL
# Handle non-www URLs
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^website\.no [NC]
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Handle www URLs
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.website\.no [NC]
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Handle URLs without .html extension
RewriteCond %{REQUEST_METHOD} ^(GET) [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f
RewriteRule ^(.*) $1.html [L]
# End
다음과 같이하십시오.
RewriteEngine on
<Files "apple-app-site-association">
ForceType 'application/json'
</Files>
# Enforce SSL
# Handle non-www URLs
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
# Handle wildcard links
#RedirectMatch 301 ^/event/.*$ http://www.website.no/invite
RewriteRule ^event/[\w-]+/?$ invite [L,NC]
# Handle URLs without .html extension
RewriteCond %{REQUEST_METHOD} ^(GET) [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f
RewriteRule ^(.*) $1.html [L]
# End
이것을 테스트 할 때 브라우저 캐시 를 지우십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다