كيف يمكنني إنشاء mod_rewrite الذي يعيد التوجيه إلى Launch.php?i=/the/url/that/they/want؟

StackOverflow https://stackoverflow.com/questions/158328

  •  03-07-2019
  •  | 
  •  

سؤال

لذلك إذا قام المستخدم بكتابة mydomain.com/dashboard, ، المستند الذي يرسله لهم الخادم بالفعل هو /launch.php?i=/dashboard.

التحذير الوحيد هو أنني أود ترك الطلبات

  • / الأعلام
  • /الناس
  • / الملصقات
  • /css
  • /icons
  • /images
  • /libraries
  • /أنماط

وحدها، وعليهم أن يطلبوا المجلد الفعلي.

كيف يمكنني إنشاء مثل هذا mod_rewrite؟

هل كانت مفيدة؟

المحلول

هذا هو ملف .htaccess الخاص بـ CakePHP نطاق.

يرجى استبدال ملف Index.php و url= ليناسب احتياجاتك.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

يخبر "!-d" Apache بمتابعة المجلدات الموجودة و"!-f" بمتابعة الملفات الموجودة.

يتم توجيه كل شيء آخر من خلال ملف Index.php

كما هو مقترح في التعليق، عليك أن تدرك أنه إذا لم يعمل، فقد يكون ذلك بسبب عدم تمكين mod_rewrite ولن تحصل على خطأ يوضح هذه الحقيقة، ومن المحتمل أن يكون لديك HTTP 404 فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top