كيف يمكنني إنشاء mod_rewrite الذي يعيد التوجيه إلى Launch.php?i=/the/url/that/they/want؟
-
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 فقط.
لا تنتمي إلى StackOverflow