-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_redirects
More file actions
144 lines (119 loc) · 10.4 KB
/
_redirects
File metadata and controls
144 lines (119 loc) · 10.4 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
136
137
138
139
140
141
142
143
144
# Netlify redirects for vrognas.com
# Documentation: https://docs.netlify.com/routing/redirects/
# Rule: Specific redirects FIRST, generic wildcards LAST (first match wins)
# =============================================================================
# STRUCTURAL CHANGES: Pages moved to different locations
# These redirects fix 404s from Google Search Console caused by URL restructuring
# MUST come before generic wildcard rules to avoid redirect chains
# =============================================================================
# Portfolio, About, and CV were moved from /docs/ to root level
# CV was renamed to About on Aug 30, 2025
/docs/cv/ /about/ 301
/docs/cv/index.html /about/ 301
/docs/portfolio/ /portfolio/ 301
/docs/portfolio/index.html /portfolio/ 301
/docs/about/ /about/ 301
/docs/about/index.html /about/ 301
# Pathology primers grouped by disease category
/docs/pathology-primers/giant-cell-arteritis/* /docs/pathology-primers/autoimmune/giant-cell-arteritis/:splat 301
/docs/pathology-primers/psoriasis/* /docs/pathology-primers/autoimmune/psoriasis/:splat 301
/docs/pathology-primers/rheumatoid-arthritis/* /docs/pathology-primers/autoimmune/rheumatoid-arthritis/:splat 301
/docs/pathology-primers/hiv/* /docs/pathology-primers/viral/hiv/:splat 301
/docs/pathology-primers/bacterial-infection/* /docs/pathology-primers/bacterial/bacterial-infection/:splat 301
/docs/pathology-primers/tuberculosis/* /docs/pathology-primers/bacterial/tuberculosis/:splat 301
/docs/pathology-primers/lung-cancer/* /docs/pathology-primers/cancer/lung-cancer/:splat 301
/docs/pathology-primers/skin-cancer/* /docs/pathology-primers/cancer/skin-cancer/:splat 301
/docs/pathology-primers/alzheimer/* /docs/pathology-primers/neurological/alzheimer/:splat 301
/docs/pathology-primers/parkinson/* /docs/pathology-primers/neurological/parkinson/:splat 301
/docs/pathology-primers/schizophrenia/* /docs/pathology-primers/neurological/schizophrenia/:splat 301
# "guilds" renamed to "community"
/docs/guilds/* /docs/community/:splat 301
# Modeling double-nested folders flattened
/docs/modeling/pk/pk/* /docs/modeling/pk/:splat 301
/docs/modeling/pd/pd/* /docs/modeling/pd/:splat 301
/docs/modeling/pkpd/pkpd/* /docs/modeling/pkpd/:splat 301
/docs/modeling/tte/tte/* /docs/modeling/tte/:splat 301
# Aux communication sub-folders moved under communication/
/docs/aux/presentation/* /docs/aux/communication/presentation/:splat 301
/docs/aux/email/* /docs/aux/communication/email/:splat 301
/docs/aux/meetings/* /docs/aux/communication/meetings/:splat 301
/docs/aux/writing-tactics/* /docs/aux/communication/writing-tactics/:splat 301
/docs/aux/reading-tactics/* /docs/aux/communication/reading-tactics/:splat 301
# Aux practical programming sub-folders moved under practical-programming/
/docs/aux/code/* /docs/aux/practical-programming/code/:splat 301
/docs/aux/repr/* /docs/aux/practical-programming/repr/:splat 301
/docs/aux/devops/* /docs/aux/practical-programming/devops/:splat 301
# Clinical studies sub-folders moved under clinpharm-studies/
/docs/concepts/cdisc/* /docs/concepts/clinpharm-studies/cdisc/:splat 301
/docs/concepts/hepatic-impairment-studies/* /docs/concepts/clinpharm-studies/hepatic-impairment-studies/:splat 301
/docs/concepts/renal-impairment-studies/* /docs/concepts/clinpharm-studies/renal-impairment-studies/:splat 301
/docs/concepts/qt/* /docs/concepts/clinpharm-studies/qt/:splat 301
# ADME folders moved under pk/
/docs/concepts/1_absorption/* /docs/concepts/pk/1_absorption/:splat 301
/docs/concepts/2_distribution/* /docs/concepts/pk/2_distribution/:splat 301
/docs/concepts/3_elimination/* /docs/concepts/pk/3_elimination/:splat 301
/docs/concepts/augmented-renal-clearance/* /docs/concepts/pk/augmented-renal-clearance/:splat 301
# "disease-primers" renamed to "pathology-primers"
/docs/disease-primers/* /docs/pathology-primers/:splat 301
# "references/disease-primer" was an incorrect path variant
/docs/references/disease-primer/* /docs/pathology-primers/:splat 301
# R tips page had incorrect path (missing 'r-' prefix)
/docs/tools-of-the-trade/r/tips-n-tricks /docs/tools-of-the-trade/r/r-tips-n-tricks/ 301
/docs/tools-of-the-trade/r/tips-n-tricks/ /docs/tools-of-the-trade/r/r-tips-n-tricks/ 301
# Pharmacopeia directory renamed from abbreviated to full ATC names
/docs/pharmacopeia/C_cardio/* /docs/pharmacopeia/c_cardiovascular-system/:splat 301
/docs/pharmacopeia/j_infections/antibacterials/* /docs/pharmacopeia/j_antiinfectives-for-systemic-use/j01_antibacterials-for-systemic-use/ 301
/docs/pharmacopeia/immunology/immunosuppressants/* /docs/pharmacopeia/l_antineoplastic-and-immunomodulating-agents/l04_immunosuppressants/l04a_immunosuppressants/ 301
# =============================================================================
# CANONICAL URLs: Remove index.html to prevent duplicate content issues
# These redirects ensure only clean directory URLs are indexed by search engines
# (Fixes "Duplicate without user-selected canonical" in Google Search Console)
# =============================================================================
# Root level pages
/about/index.html /about/ 301
/portfolio/index.html /portfolio/ 301
# Documentation pages - multiple depth levels
/docs/index.html /docs/ 301
/docs/*/index.html /docs/:splat/ 301
/docs/*/*/index.html /docs/:splat/ 301
/docs/*/*/*/index.html /docs/:splat/ 301
/docs/*/*/*/*/index.html /docs/:splat/ 301
/docs/*/*/*/*/*/index.html /docs/:splat/ 301
# =============================================================================
# LEGACY URL MIGRATION: page.html -> page/ (clean URL)
# These redirects handle old URLs from previous site structure
# =============================================================================
## NONMEM documentation pages
/docs/tools-of-the-trade/nonmem/nm-qa.html /docs/tools-of-the-trade/nonmem/nm-qa/ 301
/docs/tools-of-the-trade/nonmem/nm-err.html /docs/tools-of-the-trade/nonmem/nm-err/ 301
/docs/tools-of-the-trade/nonmem/nm-ctl.html /docs/tools-of-the-trade/nonmem/nm-ctl/ 301
/docs/tools-of-the-trade/nonmem/nm-data.html /docs/tools-of-the-trade/nonmem/nm-data/ 301
/docs/tools-of-the-trade/nonmem/nm-est.html /docs/tools-of-the-trade/nonmem/nm-est/ 301
/docs/tools-of-the-trade/nonmem/nm-tips-n-tricks.html /docs/tools-of-the-trade/nonmem/nm-tips-n-tricks/ 301
# nm-run.html never existed - redirect to main NONMEM tools page
/docs/tools-of-the-trade/nonmem/nm-run.html /docs/tools-of-the-trade/ 301
## Modeling pages
/docs/modeling/pkpd/pkpd.html /docs/modeling/pkpd/pkpd/ 301
/docs/modeling/pk/pk.html /docs/modeling/pk/pk/ 301
/docs/modeling/pd/pd.html /docs/modeling/pd/pd/ 301
/docs/modeling/tte/tte.html /docs/modeling/tte/tte/ 301
/docs/modeling/gof/gof-cts.html /docs/modeling/gof/gof-cts/ 301
/docs/modeling/gof/gof-cat.html /docs/modeling/gof/gof-cat/ 301
## General catch-all for old .html files (if not caught by specific rules above)
# This converts /path/to/page.html -> /path/to/page/ (clean URL)
/docs/*/*.html /docs/:splat/ 301
/docs/*/*/*.html /docs/:splat/ 301
# Note: Trailing slashes are handled automatically by Netlify's internal routing
# No explicit redirects needed for /page -> /page/ (prevents redirect chains)
# =============================================================================
# REMOVED CONTENT: Pages that no longer exist (410 Gone)
# These tell search engines to stop trying to index these URLs
# =============================================================================
# Old site sections that were removed during restructuring
/collection/* / 410
/project/* / 410
/license/ / 410
/categories/* / 410
/docs/how-tos/* / 410
# Google auto-generated search URL (no search functionality on this site)
/search / 301