ROSolo Safaris — Upload Instructions for Namecheap Shared Hosting ================================================================  IMPORTANT: The .htaccess file is CRITICAL for the site to work. Do NOT skip this step.  STEP 1: Upload All Files 1. Extract this ZIP file on your computer 2. Log into your Namecheap cPanel 3. Open File Manager 4. Navigate to public_html/ 5. DELETE everything in public_html/ first (back up if needed) 6. Upload ALL files and folders from the extracted ZIP 7. Make sure these are at the ROOT of public_html/    - index.html    - .htaccess (HIDDEN FILE — see Step 2 below)    - sitemap.xml    - robots.txt    - manifest.json    - favicon.ico    - apple-touch-icon.png    - icon-192x192.png    - icon-512x512.png    - assets/ folder    - images/ folder    - videos/ folder    - htaccess.txt (visible backup copy)  STEP 2: The .htaccess File — CRITICAL  The .htaccess file is HIDDEN (starts with a dot). Most file managers and extraction tools do NOT show hidden files by default.  If the .htaccess file is missing after upload, the site will break — clean URLs like /packages/3-day-maasai-mara will return 404.  Option A — Rename the visible backup (easiest): 1. In cPanel File Manager, find htaccess.txt in the root 2. Rename it to .htaccess (add a dot at the beginning) 3. That's it  Option B — Create a new file: 1. In cPanel File Manager, click Create New File 2. Name it .htaccess (with the dot) 3. Paste the contents of htaccess.txt into it 4. Save  Option C — Show hidden files and upload directly: 1. In cPanel File Manager, click Settings (top right) 2. Check Show Hidden Files (dotfiles) 3. The .htaccess file should now appear 4. If it's still missing, upload it from the extracted ZIP  STEP 3: Verify Everything Works  After uploading, visit these URLs in your browser:  1. https://rosolosafaris.co.ke/ — Homepage loads 2. https://rosolosafaris.co.ke/packages — Package listing loads (no 404) 3. https://rosolosafaris.co.ke/packages/3-day-maasai-mara — Single package loads 4. https://rosolosafaris.co.ke/plan-safari — Safari planner loads 5. https://rosolosafaris.co.ke/our-story — Our Story page loads 6. https://rosolosafaris.co.ke/faqs — FAQs page loads 7. https://rosolosafaris.co.ke/terms — Terms page loads 8. https://rosolosafaris.co.ke/contact — Contact page loads  If ANY of these show a 404 error, the .htaccess file is missing or broken.  STEP 4: Test Guest Booking (No Account Needed)  1. Visit /packages/3-day-maasai-mara WITHOUT logging in 2. The Live Pricing Calculator should be visible in the right sidebar 3. Click Book Now — should open a modal with pricing 4. Click Book Now USD $... — should go to /payment page 5. Fill in the form and submit — should process without forcing login 6. After successful payment, you should see a confirmation page  If at any point you are redirected to /login, something is still broken.  STEP 5: Test Rosolo Reserve (Account Features)  1. Visit /packages/3-day-maasai-mara 2. Click Save to Favorites — this SHOULD ask you to log in (that's correct, saving requires an account) 3. Visit /dashboard — this SHOULD redirect to /login (correct, dashboard needs an account) 4. Sign up or log in 5. Now try Save to Favorites again — it should work 6. Try Safari Fund / Deposit — should work when logged in  Account-only features: Save packages, Safari Fund deposits, Dashboard, Write a Review, Settings.  WHAT'S FIXED IN THIS BUILD  - Clean URLs (no more #/ hash routing) - Google can now crawl every page - Full SEO: meta tags, Open Graph, Twitter Cards, JSON-LD schema - Security headers (HSTS, CSP, clickjacking protection, etc.) - 301 redirects for old dead URLs (/pages, /contactus, /safari/*) - Route-level code splitting (faster initial load) - Complete favicon and PWA icon set - Guest booking: no login required to book a trip - Rosolo Reserve: login only needed for savings, favorites, dashboard  FILES IN THIS ZIP  - index.html — Main entry point (contains static SEO content for crawlers) - .htaccess — CRITICAL: handles routing, redirects, security headers, caching - htaccess.txt — Visible backup of .htaccess (rename to .htaccess if hidden) - sitemap.xml — Clean sitemap for Google (no hash URLs) - robots.txt — Tells crawlers what to index - manifest.json — PWA manifest for installable web app - favicon.ico — Browser tab icon - apple-touch-icon.png — iOS home screen icon - icon-192x192.png / icon-512x512.png — PWA icons - assets/ — JavaScript and CSS bundles (lazy-loaded by route) - images/ — All 68 safari images - videos/ — Safari video clips  Need help? If any page shows 404 after upload, the .htaccess file is almost certainly missing. Check Step 2 above carefully.