كيفية إعداد عنوان URL الودي في إطار YII تلقائيا

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

  •  19-09-2019
  •  | 
  •  

سؤال

أنا فقط تعلم الإطار يي وقراءة هذا البرنامج التعليمي حول YII كيفية إعداد عنوان URL

لكن ليس لدي أي فكرة، افترض أن لدي 10 وحدات تحكم، هل يجب علي تحديد جهاز تحكم واحد في ملف التكوين؟ هل هناك طريقة أفضل لإعداد عنوان URL ودود مثل www.yoursite.com/yourcontroller/youraction/yourid لجميع المراقب؟

أعتقد أن Codeigniter فعل ذلك تلقائيا ... ماذا عن يي؟

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

المحلول

في / protected/config/main.php أضف ..

    'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName' => false,      
        ),
    ),

في جذر الويب الخاص بك ..htaccess ..

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

نصائح أخرى

هناك جيل URL الآلي في YII أيضا. على سبيل المثال فقط اكتب في القالب الخاص بك مثل عنوان URL بدون المسار اليدوي:

<?php echo CHtml::link('topic title',array('topic/view','id'=>$topic->id,'var'=>'123')); ?>

وسوف يكون عنوان URL المقدم كما يتبع:

/topic/view/id/1/var/123

ثم في طريقة عملنا Action Action () نحن نستخدم هذه المعلمات:

...
$id=$_GET['id'];
$var=$_GET['var'];
...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top