בתקופת הברונזה התיכונה והמאוחרת, כנראה כ-2 ק"מ מדרום לתל רפיח שכנה רפיח הקדומה, יישוב חשוב על "דרך הים" (או דרך הורוס כפי שקראו לה המצרים), שלא עברה ממש בקרבת החוף מחמת רצועת החולות הנודדים. אזור עזה, שבגבול הדרומי של ארץ כנען, היה לאחד ממעוזי השלטון המצרי, כולל רפיח, תל אל-עג'ול, שיח' זוויד, תל שרוחן ובמיוחד עזה, שהייתה לבירת השלטון המצרי בכנען. קטע זה של הדרך היה חיוני ביותר למצרים, ולכן הוקמה לאורכו שורה של מבצרים, תחנות דרך ובארות מים במרחקים קבועים, במגמה להקל את המעבר של הצבא המצרי. תחותמס השלישי (המאה ה-15 לפנה"ס) עבר בה בדרכו לכיבוש תל מגידו. העיר מוזכרת בפפירוס אנסטאזי א' מתקופת פרעה סתי הראשון (המאה ה-14 לפנה"ס), הכותב מתאר אתרים ברחבי האימפריה, מתאר את העיר רפיח, את ביצוריה ואת מיקומה הגאוגרפי ביחס לעזה. מתקופת פרעה סתי הראשון (המאה ה-14 לפנה"ס). התעודה המקיפה ביותר, המתארת את "דרך הים", הוא הקטע הגיאוגראפי שבאיגרת הסופר המצרי חורי מימי רעמסס השני (המאה ה-13 לפנה"ס).
בתקופת הברזל.
הפעילות הדיפלומטית והצבאית של מצרים בראשית תקופת הברזל א' מלמדת שאפשרות התנועה לאורך "דרך הים" מתחנה אל תחנה, נשמרה ברציפות מתקופת הברונזה המאוחרת, לפחות כל זמן שמצרים נכחה בדרום ארץ כנען (1133 לפסה"נ בערך). אחר כך עוברת רפיח לשליטת הפלשתים, בגבולה הדרומי של ממלכתם. בשנת 925 לפנה"ס עצר בה צבאו של שישק במסעו לארץ ישראל.
עלייתו של סרגון השני, מלך אשור לשלטון (705–721 לפסה"נ) לוותה במרידות ברחבי האימפריה, וביניהן זו של עזה בשנת 720 לפנה"ס. חנון מלך עזה הצטרף לקואליציה סורית-ארץ ישראלית שבראשה עמד יאובידי מלך חמת, ושנתמכה על ידי מצרים. המרד של עזה דוכא בקרב שנערך ליד רפיח, וחנון הובל לאשור כבול בשלשלאות. מפקד הכח המצרי שנשלח לעזרת חנון, נמלט בחזרה למצרים. רפיח נהרסה ותושביה הוגלו. במסעו השני לפלשת (716 לפסה"נ) מספר סרגון השני שהגלה אוכלוסייה אל נחל מצרים והושיב אותה באזור. מהלכיו של סרגון נועדו ליצור אזור חיץ עם גבול מצרים, שתושביו נאמנים לאשור.
במסעו העשירי, שנערך בשנת 671 לפני סה"נ, כבש אסרחדון את מצרים. הוא מודיע, כי בדרכו עבר ברפיח שבקרבת נחל מצרים והמשיך עד מצרים.
בתקופה ההלניסטית.
בתקופה ההלניסטית בארץ ישראל במקום התרחש קרב רפיח, שהיה קרב מכריע במלחמה הסורית הרביעית בין תלמי הרביעי ממצרים ואנטיוכוס השלישי (הגדול) מהאימפריה הסלאוקית. הקרב נערך ביום ה-22 ביוני 217 לפנה"ס, ליד רפיח, ובעקבותיו זכו המצרים לשוב ולשלוט על קוילה-סוריה.
בתקופה הרומית והביזנטית.
בשנת 100 לפנה"ס כבש אותה אלכסנדר ינאי, והרס אותה. המצביא הרומי אולוס גביניוס בנה אותה מחדש בשנת 61 לפנה"ס, כחלק ממשימתו לחזק את האחיזה הרומית לאורך חופי הים התיכון.
יוסף בן מתתיהו כתב תיאור של מסע צבא רומא תחת פיקודו של טיטוס מצרים לעזה. ביום אחד עבר את המרחק מפלוסיום עד מקדש זאוס קסיוס, ביום השני הגיע לאוסטרקינה, ביום השלישי הגיע אל אל-עריש, ביום הרביעי הגיע אל רפיח, וביום החמישי הגיע אל עזה.
בתקופה הביזנטית, הייתה רוב האוכלוסייה הפכה נוצרית ובעיר שכן הגמון.
בתקופה המוסלמית המוקדמת והצלבנית.
בסוף התקופה הביזנטית, לאורך החוף, החלו חולות שפת הים נסחפים לפנים הארץ, מכסים את האדמה החקלאית ויישובים רבים לאורך החוף חדלו להתקיים. מיפו דרומה עמדו על תלן רק הערים אשקלון, עזה ורפיח, כשהן מוציאות מחייתן מן הרצועה הצרה של אדמה פורייה שמאחורי החולות, ממסחר ומן השיירות העוברות למצרים וממנה בדרך הצפונית של מדבר סיני. בתקופה המוסלמית המוקדמת, בשנת 634, נכבשה העיר הערבים שהפכו אותה לעיר מסחר פורחת בנתיבי הסחר שלהם.
חודש אחרי כיבוש ירושלים בשנת 1099 בידי הצלבנים נכבש האזור בידיהם, אך הם העיר אשקלון, שהייתה העיר הגדולה והמבוצרת באזור, נשארה בשליטת השושלת הפאטמית. רק לאחר חמישים שנים של מאבק הכניעו את אשקלון, כאשר קודם כבר כבשו את עזה ורפיח מדרום.
בתקופת המנדט הבריטי.
במלחמת העולם הראשונה הבריטים, שהתקדמו דרך מדבר סיני, הניחו גם מסילת עד רפיח, ומאפריל 1917 החלו מניחים משם שלוחה מזרחה עד לעין הבשור. לאחר נפילת באר שבע המשיכו הבריטים את הנחת המסילה עד לביר אבו רקייק ("מחנה תימן" כיום), שם התחבר הקו אל המסילה הטורקית. קו באר שבע - רפיח נחנך רשמית ב-8 במאי 1918 בטקס, שאליו הגיע ברכבת מהודרת מרפיח המושל הצבאי של הארץ, הקולונל אלפרד פארקר, יחד עם שיח'ים בדווים. קבלת הפנים החגיגית נערכה בתחנת הרכבת של באר שבע בליווי תזמורת צבאית. לאחר חנוכת הקו הייתה התחנה בבאר שבע לתקופת מה לצומת רכבות מרכזי בארץ: ממנה יצאו רכבות מערבה, לרפיח (ומשם למצרים או ליפו), צפונה לירושלים, ודרומה לניצנה. המסילה מרפיח נסללה ברוחב של 143.5 ס"מ, ואילו רוחב המסילה הטורקית היה 105 ס"מ. כדי שגם קרונות טורקיים יוכלו לנוע בקו זה, הוסיפו הבריטים בין הפסים פס שלישי. וכך נוצר מצב שהיה יחיד במינו בתולדות הרכבות בארץ ישראל, הרכבות מבאר שבע היו מורכבות לפעמים בעת ובעונה אחת מקרונות בריטיים וטורקיים גם יחד, וכל קרון נע על מסילה ברוחב שונה. אך ב-1919 נעקרו הפסים הטורקיים, וכך נותרה באר שבע מחוברת במסילת ברזל רק עם רפיח. תושבים מח'אן יונס עיבדו במקום חלקות קרקע ולעיתים התגוררו במקום בעונת העבודה החקלאית. לאחר שהאזור נכבש על ידי הבריטים בקרב רפיח (1917), החל להתגבש במקום יישוב של קבע. תרמה לכך הקרבה למחנות הצבא הבריטי והקרבה לגבול בין ארץ ישראל ומצרים. חלק מהחנויות במקום נבנו ממש על הגבול, על מנת להקשות על גביית מכס. כך, בשנת 1922 מנתה אוכלוסיית רפיח 600 תושבים ובשנת 1948 הגיעה האוכלוסייה ל-2,500 תושבים. רוב האוכלוסייה התפרנסה מחקלאות וגידול צאן. הבתים במקום נבנו בתחילה בפיזור רב זה מזה, אך עם הזמן התגבשו במקום רחובות מסודרים שלאורכם בתים. רובה של רפיח היה בצד הארצישראלי של הגבול, בעוד תחנת הרכבת נמצאה בצד המצרי של הגבול. בשנת 1946 שכן ברפיח מחנה מעצר, אליו הועברו רבים מעצורי "השבת השחורה". מחנות רפיח, אליהם הועבר ציוד רב במהלך סיום המנדט, היו השטח האחרון אותו פינו הבריטים בארץ ישראל, ביולי 1948.
לפי תוכנית החלוקה, שהתקבלה ברוב קולות בעצרת הכללית של האו"ם ב-29 בנובמבר 1947, העיר נכללה בשטח המדינה הערבית ועברה לשליטת מצרים עם נסיגת הצבא הבריטי. במהלך מלחמת העצמאות התנהלו בסביבות העיר קרבות בין צה"ל לצבא המצרי.
במלחמת סיני.
במלחמת סיני הייתה העיר אזור קרבות שדרכו פרץ צה"ל לצפון סיני. ב–12 בנובמבר 1956, במהלך שליטת צה"ל בעיר, אירע בעיר טבח רפיח שבו הרג צה"ל עשרות מתושבי העיר. ראש ממשלת ישראל, דוד בן-גוריון, תיאר זאת בתשובה לשאילתא בכנסת: "כמה אנשים במקום הפרו את העוצר וגם פתחו באש נגד הצבא. לאחר כמה יריות באוויר היו החיילים שלנו מוכרחים לירות במתפרעים; 48 נהרגו וכמה נפצעו. נעשו חיפושים ונתגלו כ-250 חיילים מצריים עם המון כלי-נשק."
לאחר 1967.
גם במלחמת ששת הימים הייתה העיר אזור קרבות שדרכו פרץ צה"ל (בעיקר אוגדה 77 ואוגדה 84) לצפון סיני. בשנת 1967 מנתה אוכלוסיית רפיח 55,000 תושבים. בעקבות המלחמה עברה העיר לשליטת ישראל. בשנת 1971 החליטה ממשלת ישראל לפעול לשיקום מחנה הפליטים ברפיח, מתוך מחשבה שמהלך זה יעזור להרגעת המתיחות הביטחונית ושינוי דעת הקהל לטובת ישראל, לאחר שתחת השלטון המצרי לא נעשה מאמץ לשקם את הרצועה. כחלק מהתוכנית הוקמה שכונות חדשות לפליטים בעזה, כשמע"ץ מבצעת את עבודת התשתית. ישראל הקימה שתי שכונות חדשות: שכונת ברזיל ושכונת קנדה בסיני. שכונת ברזיל נקראה על שם מחנה של חיילי כוח החירום של האומות המאוחדות מברזיל שהיה במקום. ישנן גרסאות שונות למקור השם שכונת קנדה. ישנם מקורות המציינים שהיה במקום מחנה של חיילים מקנדה. מקור אחר גורס כי המדובר בבדיחה. לשכונת קנדה בסיני עברו בשנים 1973–1975 כ-500 משפחות מורחבות של כ-5,000 תושבים ממחנה רפיח. עם נסיגת ישראל מסיני על פי הסכם השלום בין ישראל למצרים, נחצתה רפיח, וחלקה שמדרום מערב לקו הגבול הבינלאומי עבר לשליטת מצרים. על פי ההסכם, מצרים הייתה אמורה לממן את יישובם מחדש של תושבי שכונת קנדה בסיני בתל א-סולטאן, שנודע כשכונת קנדה החדשה. תהליך היישוב מחדש החל בשנת 1989 ונמשך עד שנת 2000 במימון של קנדה וכווית.
ברבות השנים חפרו מבריחים, מתחת לגבול הבינלאומי, מנהרות שקישרו את שני חלקי העיר ושימשו להברחת סחורות ואנשים.
לאחר הסכם אוסלו.
עם הקמת הרשות הפלסטינית הועברה העיר לשליטת הרשות, כשלכל אורך הגבול הבינלאומי נקבעה רצועה צרה ("ציר פילדלפי") שבשליטת ישראל. רצועה זו נועדה ליצור חיץ בין רצועת עזה ובין מצרים. חיץ זה נוצר במידה חלקית בלבד, משום שמנהרות המבריחים, שעברו מתחת לחיץ זה, שימשו להברחת אמצעי לחימה ממצרים לרצועת עזה. אזור "ציר פילדלפי" היווה בכל שנות האינתיפאדה השנייה אזור לחימה בין צה"ל לפלסטינים. ב-12 במאי 2004 נפגע נגמ"ש של צה"ל שנסע בציר פילדלפי ועסק בפיצוץ מנהרות, וחמשת חייליו נהרגו. בעקבות זאת יצא צה"ל ל"מבצע קשת בענן" - מבצע רחב היקף ברפיח, שבו, על-פי הודעת מפקד אוגדת עזה, נהרגו 41 מחבלים ו-12 אזרחים, אותרו שלוש מנהרות ונהרסו 56 בתים. הנזק שנגרם לפלסטינים גרר ביקורת בינלאומית. המבצע העלה לסדר היום את בעיית "ציר פילדלפי" בתוכנית ההתנתקות. ב-23 בינואר 2008 פרצו הפלסטינים ברפיח מצד ישראל את הגבול עם מצרים במעבר רפיח, ובכך איפשרו למצרים להעביר מזון, ולגורמים פרו-פלסטינים אף נשק.