Search Engine Friendly PHP Pages محرك بحث ودية بي. اتش. بى صفحات

Zend Technologies - Code Gallery Spotlight - Search Engine Friendly PHP Pages لغة فارسيه قديمة التكنولوجيا -- قانون معرض الاضواء -- محرك بحث ودية بي. اتش. بى صفحات
Now that you have a better understanding of the problem, let’s look at the solution. الان ان لديك فهم افضل للمشكلة ، لنلق نظرة في الحل. In order for a spider to traverse (and consequently index) a given page, the URL must be free of any appearance of parameters. لأجل العنكبوت ليقطع (وبالتالي الرقم القياسي (صفحة معينة ، وعنوان الموقع يجب ان تكون خالية من اي مظهر من البارامترات. But if a given page requires parameters to function properly, what can be done? ولكن اذا كانت صفحة معينة تتطلب معايير لتؤدي عملها على الوجه المطلوب ، ما الذي يمكن عمله؟ The answer lies in the use of the $PATH_INFO environment variable, which you can convert a URL from… الجواب يكمن في استخدام مبلغ path_info متغير البيئة ، والتي يمكنك من تحويل موقع…
http://www.zend.com/myscript.php?myvalue=Hello http://www.zend.com/myscript.php؟myvalue=hello

…to a spider-friendly format: … الى العنكبوت صديقة للشكل :
http://www.zend.com/myscript.php/myvalue/Hello http://www.zend.com/myscript.php/myvalue/hello

Notice that the spider-friendly format contains no indication that there are any parameters being passed at all. ولاحظ ان العنكبوت صديقة الشكل لا يتضمن اي اشارة الى ان هناك أية معالم احالتها على الاطلاق. Rather, it simply looks like we are trying to access the directory on the zend.com site /myscript.php/myvalue/Hello, and any search engine spider that accesses the page won’t have any trouble following the URL. وبدلا من ذلك ، تبدو وكأنها مجرد اننا نحاول الوصول الى الدليل على موقع zend.com / myscript.php / myvalue / مرحبا ، واي محرك بحث العنكبوت ان قبضة الصفحه لن يكون لها اي مشكلة بعد عنوان الموقع. Yet in reality we are executing the script myscript.php. ومع ذلك نحن في واقع تنفيذ البرنامج النصي myscript.php.

But what happened to your parameters? لكن ما حصل الى حسابك المعالم؟
How to GET your hidden data كيف أحصل على البيانات المخفيه

Now that you have successfully hidden your parameters within what appears to be a directory structure, how do you get them out? والآن ، لقد نجحت في اخفائها الخاص بك المعايير داخل ما يبدو انه دليل هيكل ، وكيف يحصل عليها؟ Whenever a PHP script is executed with extra path data appended to the end of the filename (as we did in the spider-friendly example above), the Web server creates an environment variable $PATH_INFO containing this information. بي. اتش. بى كلما سكريبت ينفذ مع البيانات المرفقه من خارج الطريق الى نهاية اسم الملف (كما فعلنا في العنكبوت صديقة المثال اعلاه) ، خادم الويب يخلق بيئة متغيرة دولار path_info يتضمن هذه المعلومات. You can then access this environment variable through PHP automatically, and parse it to retrieve our data. بعد ذلك يمكنك الوصول الى هذه البيئة المتغيره من خلال بي. اتش. بى تلقائيا ، وانه تحليل لاسترجاع البيانات لدينا. So our earlier URL… لدينا موقع في وقت سابق من ذلك…

http://www.zend.com/myscript.php/myvalue/Hello http://www.zend.com/myscript.php/myvalue/hello

…would populate the $PATH_INFO variable with: … من شأنه ان اهل مبلغ متغير مع path_info :

/myvalue/Hello / myvalue / مرحبا

…from which you can then parse and retrieve the passed information. … من الذي يمكنك بعد ذلك تحليل واسترجاع المعلومات مرت.
Deciphering your data Deciphering بياناتك

Now that you know where your parameters are, the next step is to decipher them into a format that PHP can use. لك الآن ان يعرف أين هي معالم الخاص بك ، فإن الخطوة التالية هي لdecipher منها الى شكل يمكن ان تستخدم بي. اتش. بى. Although there is no required method for doing this, I’ll assume that you have formatted your data in the following way: بالرغم من عدم وجود طريقة المطلوبة للقيام بذلك ، أنا افترض ان لديك في صيغة بياناتك على النحو التالي :

/var_name/var_data/var2_name/var2_data/… / var_name/var_data/var2_name/var2_data /…

Using this method, all that is left is to: باستعمال هذه الطريقة ، كل ذلك ترك هو :

* break the provided string every time we encounter a slash (’/') * قدمت كسر السلسله ونحن في كل مرة يواجه القطع ('/')
* create variables to associate the given names (var_name, var2_name, etc.) with their respective values (var_data, var2_data, etc.) * انشاء المتغيرات ونظرا لاشراك الاسماء (var_name ، var2_name ، وما الى ذلك) مع كل القيم (var_data ، var2_data ، الخ.)

With all of this in mind, let’s look at some real code. مع كل هذا في الاعتبار ، دعونا نلق نظرة على بعض الحقيقية المدونه.
The script المخطوطه

As with many powerful techniques, the code required to create this ability in your scripts is not difficult to develop. كما قوية مع العديد من التقنيات ، وقانون المطلوبة لوضع هذه القدرة الخاصة بك في الكتابات وليس من الصعب ان تتطور. The process consists of traversing an array based on the $PATH_INFO, and creating variables based on that data. عملية عبور يتكون من طائفة واستنادا الى path_info دولار ، وانشاء المتغيرات واستنادا الى تلك البيانات. In the end, the object is to take the URL… وفي نهاية المطاف ، فإن الهدف هو ان تتخذ العنوان…

http://www.zend.com/myscript.php/myvalue/Hello http://www.zend.com/myscript.php/myvalue/hello

…then use the data provided in the $PATH_INFO variable to construct corresponding variables: … ثم استخدام البيانات الواردة في path_info دولار لبناء متغير من المتغيرات المقابلة :

$myvalue = “Hello” $ myvalue = "مرحبا"
Code flow قانون تدفق

* Check for the existence of $PATH_INFO * تأكد من وجود دولار path_info
* Split $PATH_INFO into an array * تقسيم دولار الى طائفة path_info
* If the total number of parameters is even, add an extra empty element at the end to simplify the traversal in the next step * اذا كان مجموع عدد من المعايير بل ، إضافة عنصر اضافي فارغ في نهاية لتبسيط السفر عبر في الخطوة التالية
* Traverse array and create variables based on the $PATH_INFO data * العارضه وانشاء مجموعة من المتغيرات واستنادا الى البيانات path_info دولار

< ?php <؟ بي. اتش. بى

if(isset($PATH_INFO)) { اذا كانت الاجابه ب (isset ($ path_info)) (

$vardata = explode('/', $PATH_INFO); دولار vardata = ('/'،تنفجر path_info دولار) ؛

$num_param = count($vardata); num_param دولار = العد (vardata دولار) ؛

if($num_param % 2 == 0) { اذا كانت الاجابه ب (2 ٪ num_param دولار == 0) (

$vardata[] = ''; دولار vardata [] = ''؛
$num_param ; num_param دولار ؛
} )

for(var $i = 1; $i < $num_param; $i = 2) { ل(فار الاول = 1 دولار ؛ دولار الاول <num_param دولار ؛ دولار الاول = 2) (

$$vardata[$i] = $vardata[$i 1]; $ $ vardata [$ الاول] vardata دولار = [دولار الاول 1] ؛
} )
} )

?> ؟>

Filed under المقدم بمقتضى Uncategorized | |

Leave a Reply ترك الرد



Please enter the code shown below ( to verify that you are human ) before you click Submit Comment . الرجاء إدخال الرمز المبين ادناه) للتحقق من ان انت الانسان) قبل ان تنقر على تقديم التعليق.


Protected by التي يحميها Comment Guard Pro التعليق الحرس الموالية