اذهب إلى المحتوى

السؤال

نشر

السلام عليكوم ورحمة الله و بركاته 

لوسمحتوم انا احتاج كيفية التحكم في اعدادات ملف htaccess الخاصة بروابط

المتجر المبرمج ب php and my SQL  من خلال لوحة التحكم 

مثلا تحويل روابط التصنيفات من

www.example.com/cat.php?c=رقم التصنيف

إلى 

www.example.com/category/c-رقم التصنيف.html

او

www.example.com/c-رقم التصنيف.html 

و كيف يمكنني إضافة إمكانية تعديل الحرف في الروابط

ارجو الرد

Recommended Posts

  • 0
نشر

أولا افتح ملف .htaccess ثم اذهب إلى لوحة التحكم الخاصة بالموقع، وافتح "مدير الملفات"، وتأكد من وجود ملف .htaccess في المجلد الجذر للموقع. وإذا لم يكن موجودا، فقط قم بإنشائه بعدها أضف القواعد التالية إلى ملف .htaccess لتحويل الروابط:

RewriteEngine On

# تحويل الروابط إلى شكل /category/c-رقم التصنيف.html
RewriteRule ^category/c-([0-9]+)\.html$ cat.php?c=$1 [L,QSA]

# أو تحويل الروابط إلى شكل /c-رقم التصنيف.html
RewriteRule ^c-([0-9]+)\.html$ cat.php?c=$1 [L,QSA]

ثم احفظ التغييرات في ملف .htaccess واختبر الروابط في المتصفح للتأكد من أن التحويل يعمل بشكل صحيح.

  • 0
نشر
بتاريخ 4 دقائق مضت قال NAIF:

يااخى انا اوريد عمل خيار في لوحة التحكم ليحدد شكل الروابط 

إذا كان www.example.com/category/c-رقم التصنيف.html

او www.example.com/c-رقم التصنيف.html

قم بإضافة حقل جديد في قاعدة البيانات لتخزين تفضيلات شكل الروابط في لوحة التحكم، قم بإنشاء نموذج يسمح للمستخدمين بتحديد شكل الروابط المفضل من بينهما، ثم في ملف PHP الذي يعالج إعدادات لوحة التحكم، قم بتحديث قيمة حقل قاعدة البيانات بناء على الإدخال من نموذج لوحة التحكم وفي ملف .htaccess، قم بإضافة شرط يتحقق من قيمة حقل قاعدة البيانات لتحديد أي قاعدة إعادة كتابة يجب استخدامها كما أشرت لك في التعليق الذي سبق.

  • 0
نشر
بتاريخ On 5‏/6‏/2024 at 12:18 قال NAIF:

هل يمكنك عمل مثال للتجريب

أضف عمودًا جديدًا في جدول الإعدادات ( في حال لديك جدول للإعدادات العامة للموقع) ليخزن خيار شكل الرابط.

ALTER TABLE settings ADD COLUMN link_format VARCHAR(255) DEFAULT 'category';

ثم إضافة خيار في لوحة التحكم للسماح للمستخدم بتحديد شكل الرابط،  كإضافة قائمة منسدلة dropdown في لوحة التحكم لاختيار شكل الرابط.

وعند اختيار المستخدم شكل الرابط من لوحة التحكم، قم بتحديث قيمة إعدادات الرابط في قاعدة البيانات.

وللتوضيح إليك مثال على كود PHP لتحديث الإعداد:

// افترض أن لديك اتصال بقاعدة البيانات بالفعل
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $link_format = $_POST['link_format']; // احصل على القيمة من نموذج لوحة التحكم
    $stmt = $conn->prepare("UPDATE settings SET link_format = ?");
    $stmt->bind_param("s", $link_format);
    $stmt->execute();
    $stmt->close();
}

وتستطيع إنشاء أو تعديل ملف .htaccess ديناميكيًا بناءً على الإعداد المحدد من لوحة التحكم.

// احصل على إعداد الرابط الحالي من قاعدة البيانات
$stmt = $conn->prepare("SELECT link_format FROM settings");
$stmt->execute();
$stmt->bind_result($link_format);
$stmt->fetch();
$stmt->close();

// إعداد محتوى ملف .htaccess بناءً على اختيار المستخدم
$htaccessContent = "RewriteEngine On\n";

if ($link_format === 'category') {
    $htaccessContent .= "RewriteRule ^category/c-([0-9]+)\.html$ /cat.php?c=$1 [L,QSA]\n";
} else {
    $htaccessContent .= "RewriteRule ^c-([0-9]+)\.html$ /cat.php?c=$1 [L,QSA]\n";
}

// كتابة المحتوى إلى ملف .htaccess
file_put_contents('.htaccess', $htaccessContent);

و إليك مثال على نموذج HTML لإضافة الخيار في لوحة التحكم:

<form method="POST" action="path_to_your_php_script.php">
    <label for="link_format">اختر شكل الرابط:</label>
    <select id="link_format" name="link_format">
        <option value="category">www.example.com/category/c-رقم التصنيف.html</option>
        <option value="short">www.example.com/c-رقم التصنيف.html</option>
    </select>
    <input type="submit" value="حفظ">
</form>

وتحقق من أن الملف .htaccess لديه الأذونات الصحيحة ليتم تعديله بواسطة سكريبت PHP، ثم اختبار جميع الروابط بعد التعديل للتأكد من أن كل شيء يعمل بشكل صحيح.

ومن الأفضل إضافة بعض التحقق والتدقيق للتأكد من أن القيم المدخلة صحيحة وتجنب أي أخطاء محتملة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...