سؤال

لقد قمت بإنشاء موقع على شبكة الإنترنت في php.

توجد قائمة بعناوين القصص المخزنة في قاعدة البيانات وعندما ينقر المستخدم على أي عنوان بينها، تتم إعادة توجيه المستخدم إلى صفحة تحتوي على سلسلة استعلام عليها.مثل Story.php?id=25

وهذا يعني أنه سيتم الآن عرض القصة ذات المعرف 25.الآن أريد إعادة كتابة عنوان URL ولكن عندما أعيد كتابته تحدث مشكلة.

في صفحة Story.php، أقرأ سلسلة الاستعلام مثل $_GET['id']..ولكن بعد إعادة كتابة عنوان URL لم أتمكن من قراءته بهذه الطريقة.يمكن لأي هيئة أن تقترح ما يجب القيام به

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

المحلول

إذا أجريت بعض التعديلات على سلسلة عنوان URL الخاصة بك، فيمكنك القيام بذلك.

http://www.domain.com/story.php?story=25&title=some_name

والذي بعد إعادة الكتابة يمكن أن يكون هذا.

http://www.domain.com/25/some_name.html

شفرة:

RewriteEngine On
RewriteRule ^story/([^/]*)/([^/]*)\.html$ /story.php?story=$1&title=$2 [L]

نصائح أخرى

هل يمكن استخدام هتكس إعادة كتابة عناوين المواقع الطويلة جانب الخادم، ولكن ليس إعادة توجيه المتصفح (لذلك لا يزال يظهر URL طويل في شريط العنوان)، شيئا مثل:

 RewriteEngine on
 RewriteRule story\/(\d+)\/(.+) story.php?id=$1

وجعل مجرد أنك وصلات طويلة تبدو وكأنها www.site.com/story/25/This_is_the_title

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