Htaccess مساعدة ، إزالة سلسلة من عنوان URL
-
29-09-2019 - |
سؤال
أنا أتساءل ، هل من الممكن إزالة الفهرس. php من عنوان URL؟ أساسا على بعض الصفحات في موقع لدي هذا الهيكل ،
http://www.domain.com/index.php/members/register, ، لكن صفحات أخرى لدي هياكل عناوين URL مثل هذا ، http://www.domain.com/category/products/id/5, ، أريد أن أعرف هل من الممكن مع HTACCESS إزالة الفهرس. كيف لي أن تذهب عن القيام بذلك؟
المحلول
نعم ، يمكنك. مع هذه القاعدة أي طلب /index.php
سوف يزال:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php[/?\ ]
RewriteRule ^index\.php(/(.*))?$ /$2 [L,R=301]
ولكن يجب عليك استخدام عناوين URL المناسبة مباشرة من البداية بحيث تقوم بتطبيق المستندات التي لا تحتوي روابطها على /index.php
.
نصائح أخرى
إذا كنت ترغب في إعادة كتابة index.php/وحدة التحكم على مستوى العالم
هذا.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
يتحقق هذا التكوين على Apache سواء كان الملف/الدليل موجودًا على القرص أم لا (أي الطلب يتطابق مع مورد حقيقي على القرص) ، وأعد كتابة الطلب إلى وحدة التحكم الأمامية الخاصة بك إذا لزم الأمر.
لذا http://www.domain.com/resources/image.png
يجب إرجاع مورد الصورة. و http://www.domain.com/user/show/5
يجب إعادة كتابة بشفافية http://www.domain.com/index.php/user/show/5
مع هذا التكوين ، يمكنك إزالة جميع مراجع index.php في عناوين URL الخاصة بك واترك إعادة الكتابة إلى خادم الويب.