הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   htaccess (https://hosts.co.il/forums/showthread.php?t=95025)

dor77 22-01-12 20:36

htaccess
 
שלום.
נגיד ויש לי בכתובת את כותרת המאמר ב GET, נגיד והכותרת:

I want to eat.

מין הסתם בקישור זה יוצר:
I%20want%20to%20eat

שמעתי שטוב יותר לשים - במקום רווח..כלומר ככה:

I-want-to-eat.

איך לעשות את זה?

הנה הקובץ שלי עכשיו:

PHP קוד:

RewriteEngine On 
RewriteRule 
^article/(.+) article.php?title=$

תודה.

Tomer 22-01-12 20:52

אני חושב שחכם יהיה אם תעביר בכתובת את ה ID של המאמר ובנוסף את הכותרת (משהו כמו /1/article-title)

את ה rewrite תבצע עם ה /1/ ותבחר מאמר ב PHP בעזרת ה ID שלו, את הכותרת תחליף ב PHP (משהו כמו str_replace(" ","-",$title) והכל יהיה בסדר.

IgalSt 22-01-12 21:31

ציטוט:

נכתב במקור על ידי Tomer (פרסם 833156)
אני חושב שחכם יהיה אם תעביר בכתובת את ה ID של המאמר ובנוסף את הכותרת (משהו כמו /1/article-title)

את ה rewrite תבצע עם ה /1/ ותבחר מאמר ב PHP בעזרת ה ID שלו, את הכותרת תחליף ב PHP (משהו כמו str_replace(" ","-",$title) והכל יהיה בסדר.

וכמובן לא לשכוח בצד שרת לוודא שה-title שמתקבל מתאים ל-id (לפי החוקיות שתבחר - עם או בלי מקף) כדי שגוגל לא יקבל בטעות קישורים עם כותרות שונות שמובילות לאותו ה-id ומאמר וכך יהיה לך תוכן כפול.

dor77 22-01-12 22:56

אבל אני רוצה להחליף את הכתובת ב url, לא הבנתי איך הטיטל קשור.
אם אני משנה זה יהיה בדף עצמו..
בקיצור לא הבנתי חחח :)

NetanelEdri 22-01-12 23:37

אוקיי די פשוט , קודם כל קובץ ה htaccess שלך בסדר.
בקובץ article.php אתה צריך לעשות פעולה כזו (כמובן שתשנה לפי המערכת שלך וכו אני רק מדגים את הקונספט):

PHP קוד:

$title $_GET['title'];
$name str_replace("-"," ",$title);
$select_article mysql_query("SELECT * FROM `articles` WHERE `name` = '" .$name"'"); 

אנחנו לוקחים את ה GET שהועבר באמצעות HTACCESS למשל:
i-need-to-eat

ומחליפים את הסימן "-" ברווח על מנת לקבל את השם המקורי מהמסד ולבחור על פיו.
כמובן שמפה תמשיך ותוציא את הנתונים ותציג את העמוד.

בהצלחה.

dor77 23-01-12 01:38

נתנאל, תודה אבל לא הבנת..
אני רוצה שהכותרת תיהיה עם -...
עכשיו בכותרת:
article/I want to eat

אני רוצה שבמקום רווח יהיה -.
בurl.
את המשיכה אני יעשה על פי Id או משהו אבל זה כבר לא משנה.
איך אני משפיע על ה url באתר?
זה מה שאני שואל..אני רוצה url כזה:
http://allrecipes.com/recipe/worlds-best-lasagna/

איך עושים?

תודה!

Itay 23-01-12 17:52

אולי כשאתה מקשר פשוט תחליף את הרווחים במקף?
כמו כל הדוגמאות שהראו לך פה..
PHP קוד:

$title str_replace(' ''-'$db['title']);
echo 
'<a href="article/'.$title.'">'.$db['title'].'</a>'


dor77 23-01-12 19:25

טוב, חשבתי שיש משהו מובנה..
עשיתי מה שעשיתי בעבר..יש לי במסד משתנה שאליו אני מכניס את הכותרת אחרי explode..
ואת זה אני שולף בקישור..את התוכן אני שולף לפי ה id..

תודה לכולם, מעריך כל הודעה!


כל הזמנים הם GMT +2. הזמן כעת הוא 08:48.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ