-
Notifications
You must be signed in to change notification settings - Fork 203
Expand file tree
/
Copy path.htaccess
More file actions
135 lines (120 loc) · 11.7 KB
/
.htaccess
File metadata and controls
135 lines (120 loc) · 11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
AddDefaultCharset UTF-8
RedirectMatch 404 /\.git
RedirectMatch 404 /\.gitignore
RedirectMatch 404 /\.htaccess
RedirectMatch 404 /\.github
RedirectMatch 404 /\.asf\.yaml
ErrorDocument 404 /404.html
ErrorDocument 403 /404.html
RewriteEngine on
CheckSpelling on
Options -Indexes
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: https://apisix.apache.org
Header set Access-Control-Allow-Methods "*"
Header set Access-Control-Allow-Headers "*"
Header set Content-Security-Policy "frame-src 'self' https://www.google.com https://app.netlify.com"
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/html "access plus 1 hour"
ExpiresByType image/png "access plus 1 hour"
ExpiresByType image/jpg "access plus 1 hour"
ExpiresByType image/jpeg "access plus 1 hour"
ExpiresByType text/css "access plus 1 hour"
ExpiresByType application/javascript "access plus 1 hour"
ExpiresByType application/json "access plus 1 hour"
ExpiresDefault "access plus 10 days"
</IfModule>
Redirect 302 "/twitter" "https://twitter.com/ApacheAPISIX"
Redirect 302 "/youtube" "https://www.youtube.com/channel/UCgPD18cMhOg5rmPVnQhAC8g"
Redirect 302 "/slack" "https://join.slack.com/t/the-asf/shared_invite/zt-1ugrg37is-mFrbRqBEdpGWZ7_cuvvv0A"
Redirect 302 "/community-meeting-signup" "https://docs.google.com/forms/d/1C9bIJ3eh0bQrBdv4rPGxHDUvX4giNQ_IRCmDDOQ2mgE/"
Redirect 302 "/contributor-workshop-signup" "https://docs.google.com/forms/d/1LUER3R9-aFsUm7MhjVd_CM1xAGnkuWIe62prFH5aqAE/"
Redirect 302 "/guest-blog-post" "https://forms.gle/unQpSm7FyqkfaSSP8/"
RedirectMatch 301 "^/docs/apisix/getting-started/$" "/docs/apisix/getting-started/README/"
RedirectMatch 301 "^/zh/docs/apisix/getting-started/$" "/zh/docs/apisix/getting-started/README/"
RedirectMatch 301 "^/docs/apisix/3\.2/plugins/(.*)$" "https://apache-apisix.netlify.app/docs/apisix/3.2/plugins/$1"
RedirectMatch 301 "^/zh/docs/apisix/3\.2/plugins/(.*)$" "https://apache-apisix.netlify.app/zh/docs/apisix/3.2/plugins/$1"
Redirect 301 "/docs/apisix/install" "/docs/apisix/how-to-build/"
Redirect 301 "/docs/apisix/architecture-design/plugin/" "/docs/apisix/architecture-design/plugin-config/"
Redirect 301 "/docs/apisix/2.13/FAQ/plugins.md/" "/docs/apisix/2.13/architecture-design/plugin/"
Redirect 301 "/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress" "/docs/ingress-controller/tutorials/proxy-the-httpbin-service-with-ingress/"
Redirect 301 "/docs/apisix/admin-api/terminology/plugin-config.md/" "/docs/apisix/architecture-design/plugin-config/"
Redirect 301 "/docs/general/community/" "/docs/general/join/"
Redirect 301 "/docs/general/subscribe-guide/" "/docs/general/join/"
Redirect 301 "/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en" "/blog/2021/08/14/contributors-the-golden-metric-of-opensource-projects/"
Redirect 301 "/blog/2022/02/10/apisix-splunk-integration/" "/blog/2022/02/10/splunk-apisix-integration/"
Redirect 301 "/blog/2021/08/31/Apache%20APISIX%20×%20KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/" "/blog/2021/08/31/apache-apisix-kubeSphere-a-better-gateway-and-k8s-ingress-controller/"
Redirect 301 "/blog/2021/11/30/use-apisix-ingress-in-kubesphere/httpbin.org/" "/blog/2021/11/30/use-apisix-ingress-in-kubesphere/"
Redirect 301 "/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/" "/blog/2021/08/18/auth-with-casbin-in-apache-apisix/"
Redirect 301 "/blog/2022/03/02/apisix-integration-graphql-plugin/" "/blog/2022/03/02/apisix-integration-graphql/"
Redirect 301 "/blog/2022/09/21/apache-apisix-v3-preview" "/blog/2022/11/02/apache-apisix-v3-preview"
Redirect 301 "/zh/docs/apisix/install" "/zh/docs/apisix/how-to-build/"
Redirect 301 "/zh/docs/apisix/architecture-design/plugin/" "/zh/docs/apisix/architecture-design/plugin-config/"
Redirect 301 "/zh/docs/apisix/2.13/FAQ/plugins.md/" "/zh/docs/apisix/2.13/architecture-design/plugin/"
Redirect 301 "/zh/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress" "/zh/docs/ingress-controller/tutorials/proxy-the-httpbin-service-with-ingress/"
Redirect 301 "/zh/docs/apisix/admin-api/terminology/plugin-config.md/" "/zh/docs/apisix/architecture-design/plugin-config/"
Redirect 301 "/zh/docs/general/community/" "/zh/docs/general/join/"
Redirect 301 "/zh/docs/general/subscribe-guide/" "/zh/docs/general/join/"
Redirect 301 "/zh/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en" "/zh/blog/2021/08/14/contributors-the-golden-metric-of-opensource-projects/"
Redirect 301 "/zh/blog/2022/02/10/apisix-splunk-integration/" "/zh/blog/2022/02/10/splunk-apisix-integration/"
Redirect 301 "/zh/blog/2021/08/31/Apache%20APISIX%20×%20KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/" "/zh/blog/2021/08/31/apache-apisix-kubeSphere-a-better-gateway-and-k8s-ingress-controller/"
Redirect 301 "/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere/httpbin.org/" "/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere/"
Redirect 301 "/zh/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/" "/zh/blog/2021/08/18/auth-with-casbin-in-apache-apisix/"
Redirect 301 "/zh/blog/2022/03/02/apisix-integration-graphql-plugin/" "/zh/blog/2022/03/02/apisix-integration-graphql/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_route/" "/docs/ingress-controller/1.8.0/concepts/apisix_route/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_upstream/" "/docs/ingress-controller/1.8.0/concepts/apisix_upstream/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_plugin_config/" "/docs/ingress-controller/1.8.0/concepts/apisix_plugin_config/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_tls/" "/docs/ingress-controller/1.8.0/concepts/apisix_tls/"
Redirect 301 "/docs/ingress-controller/concepts/annotations/" "/docs/ingress-controller/1.8.0/concepts/annotations/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_consumer/" "/docs/ingress-controller/1.8.0/concepts/apisix_consumer/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_cluster_config/" "/docs/ingress-controller/1.8.0/concepts/apisix_cluster_config/"
Redirect 301 "/docs/ingress-controller/concepts/apisix_global_rule/" "/docs/ingress-controller/1.8.0/concepts/apisix_global_rule/"
Redirect 301 "/docs/ingress-controller/design/" "/docs/ingress-controller/1.8.0/design/"
Redirect 301 "/docs/ingress-controller/composite/" "/docs/ingress-controller/1.8.0/composite/"
Redirect 301 "/docs/ingress-controller/references/apisix_route_v2/" "/docs/ingress-controller/1.8.0/references/apisix_route_v2/"
Redirect 301 "/docs/ingress-controller/references/apisix_upstream/" "/docs/ingress-controller/1.8.0/references/apisix_upstream/"
Redirect 301 "/docs/ingress-controller/references/v2/" "/docs/ingress-controller/1.8.0/references/v2/"
Redirect 301 "/docs/ingress-controller/references/apisix_tls_v2/" "/docs/ingress-controller/1.8.0/references/apisix_tls_v2/"
Redirect 301 "/docs/ingress-controller/references/apisix_consumer_v2/" "/docs/ingress-controller/1.8.0/references/apisix_consumer_v2/"
Redirect 301 "/docs/ingress-controller/references/apisix_route_v2beta3/" "/docs/ingress-controller/1.8.0/references/apisix_route_v2beta3/"
RedirectMatch 301 "^/docs/ingress-controller/tutorials/(.*)$" "/docs/ingress-controller/1.8.0/tutorials/$1"
Redirect 301 "/docs/ingress-controller/monitoring/" "/docs/ingress-controller/1.8.0/monitoring/"
Redirect 301 "/docs/ingress-controller/plugins/prometheus/" "/docs/ingress-controller/1.8.0/plugins/prometheus/"
RedirectMatch 301 "^/docs/ingress-controller/deployments/(.*)$" "/docs/ingress-controller/1.8.0/deployments/$1"
Redirect 301 "/docs/ingress-controller/aeps/gateway-api/" "/docs/ingress-controller/1.8.0/aeps/gateway-api/"
Redirect 301 "/docs/ingress-controller/contribute/" "/docs/ingress-controller/1.8.0/contribute/"
Redirect 301 "/docs/ingress-controller/reference/apisix-ingress-controller/crd-reference/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/FAQ/" "/docs/ingress-controller/1.8.0/FAQ/"
Redirect 301 "/docs/ingress-controller/upgrade/" "/docs/ingress-controller/1.8.0/upgrade/"
Redirect 301 "/docs/ingress-controller/next/tutorials/the-hard-way/" "/docs/ingress-controller/getting-started/get-apisix-ingress-controller/"
Redirect 301 "/docs/ingress-controller/next/tutorials/configure-ingress-with-gateway-api/" "/docs/ingress-controller/concepts/gateway-api/"
Redirect 301 "/docs/ingress-controller/next/tutorials/proxy-the-httpbin-service/" "/docs/ingress-controller/getting-started/configure-routes/"
Redirect 301 "/docs/ingress-controller/next/tutorials/using-custom-plugins/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/monitoring/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/references/apisix_upstream/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/tutorials/istio-egress-gateway/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/tutorials/match-stream-route-by-sni/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/references/v2/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/tutorials/check-crd-status/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/deployments/openshift/" "/docs/ingress-controller/install/"
Redirect 301 "/docs/ingress-controller/next/tutorials/proxy-grpc-service/" "/docs/ingress-controller/getting-started/configure-routes/"
Redirect 301 "/docs/ingress-controller/next/tutorials/proxy-the-httpbin-service-with-ingress/" "/docs/ingress-controller/getting-started/configure-routes/"
Redirect 301 "/docs/ingress-controller/next/tutorials/enable-authentication-and-restriction/" "/docs/ingress-controller/getting-started/key-authentication/"
Redirect 301 "/docs/ingress-controller/next/concepts/apisix_cluster_config/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/FAQ/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/deployments/aws/" "/docs/ingress-controller/install/"
Redirect 301 "/docs/ingress-controller/next/tutorials/mtls/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/dashboard/next/api/api/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/concepts/apisix_global_rule/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/upgrade/" "/docs/ingress-controller/upgrade-guide/"
Redirect 301 "/docs/ingress-controller/next/tutorials/external-service-discovery/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/dashboard/next/modules/data_loader/openapi3/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/concepts/annotations/" "/docs/ingress-controller/overview/"
Redirect 301 "/docs/ingress-controller/next/concepts/apisix_consumer/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/design/" "/docs/ingress-controller/concepts/deployment-architecture/"
Redirect 301 "/docs/ingress-controller/next/references/apisix_route_v2/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/deployments/k3s-rke/" "/docs/ingress-controller/install/"
Redirect 301 "/docs/ingress-controller/next/concepts/apisix_tls/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"
Redirect 301 "/docs/ingress-controller/next/concepts/apisix_plugin_config/" "/docs/ingress-controller/reference/apisix-ingress-controller/api-reference/"