運用.htaccess使網(wǎng)站URL友好于搜索引擎!



每個人都希望在搜索引擎結(jié)果的**頁上對其網(wǎng)站進行排名。影響搜索引擎排名的因素很多,其中之一是訪客用戶可讀的URL或搜索引擎優(yōu)化(SEO)友好的URL。搜索引擎優(yōu)化友好的URL網(wǎng)址必須反映其網(wǎng)站頁面的內(nèi)容。
有兩種方法可以在PHP中創(chuàng)建可讀的URL。一,通過使用Request_URi方法,然后通過.htaccess文件。在本文教程中,我將使用.htaccess文件為網(wǎng)站提供SEO友好的URL。您還可以使用相同的做法為任何博客或商店創(chuàng)建相同的操作。
讓我們開始吧。
假設(shè)您正在運行使用自定義PHP代碼開發(fā)的網(wǎng)站。因此,無論您何時在網(wǎng)站中插入新帖子,該網(wǎng)址都會像這樣生成:
www.XXX.com/index.php?blog_id=1234
在本教程中,我們將把上面的URL改為:
www.XXX.com/my-seo-url /
因此,只要有人運行上述網(wǎng)址,就會生成相同的內(nèi)容,因為您在將網(wǎng)址ID提供給URL時會生成相同的內(nèi)容。
第1步:表格中的更改
首先,您需要更改保存文章的表格。在其中創(chuàng)建一個新列并將其命名為seo-url。
第2步:功能,使搜索引擎友好的URL
讓我們創(chuàng)建一個函數(shù),根據(jù)文章標題為您生成SEO友好的URL。
函數(shù)seo_url($ vp_string)
{
$ vp_string = trim($ vp_string);
$ vp_string = html_entity_decode($ vp_string);
$ vp_string = strip_tags($ vp_string);
$ vp_string = strtolower($ vp_string);
$ vp_string = preg_replace('?[^ a-z0-9 _。]?','',$ vp_string);
$ vp_string = preg_replace('??',' - ',$ vp_string);
$ vp_string = preg_replace('? - +?',' - ',$ vp_string);
$ vp_string。=“/”;
返回$ vp_string;
}
上述函數(shù)將文章標題作為字符串并返回SEO URL。喜歡這個:
我-SEO-URL /
您需要將此網(wǎng)址保存在我們在上一步中創(chuàng)建的同一列中。
第3步:更改.htaccess文件
由于我們已經(jīng)生成了SEO網(wǎng)址,因此讓我們對.htaccess進行一些更改,這會將URL重定向到保存在數(shù)據(jù)庫中的內(nèi)容。如果您尚未創(chuàng)建任何文件,請創(chuàng)建一個新文件并將其命名為.htaccess。現(xiàn)在將以下代碼粘貼到它中:
RewriteEngine On
RewriteCond%{SCRIPT_FILENAME}!-d
RewriteCond%{SCRIPT_FILENAME}!-f
RewriteRule ^(([A-Za-z0-9] + [ - ] + [A-Za-z0-9] +)+ [/])$ index.php?blog_url = $ 1 [NC,L] #Handle博客請求
讓我們一步一步了解上述代碼:
**行告訴Apache我們將重寫一些規(guī)則
RewriteEngine On
第二行和第三行是檢查調(diào)用URL不是文件或目錄名稱的條件。如果它是其中之一,則URL將不會被重寫。
RewriteCond%{SCRIPT_FILENAME}!-d
RewriteCond%{SCRIPT_FILENAME}!-f
*后一行是我們的重寫URL。現(xiàn)在這是如何工作的:RewriteURL之后的單詞 “ ^(([A-Za-z0-9] + [ - ] + [A-Za-z0-9] +)+ [/])$ ”是一個正則表達式在完整域名的“ 斜杠(/) ” 后面檢查URL的表達式。您可以使用此網(wǎng)站了解有關(guān)正則表達式的更多信息。
現(xiàn)在,如果URL與Regex表達式相匹配,那么匹配的URL將被重定向到blog_url變量中的index.php?blog_url =(匹配的 URL)。
注意:如果.htaccess文件中出現(xiàn)錯誤,您將收到500內(nèi)部服務(wù)器錯誤。
第4步:索引文件的更改
現(xiàn)在,在URL的 index.php文件中,您將使用$ _GET ['blog_url']獲取此URL 并匹配表中的該URL,并且可以快速顯示完整文章。例如,在您的index.php文件中,您的數(shù)據(jù)庫查詢將被更改為:
$ url = $ _GET ['blog_url'];
$ query =“SELECT articles.article_name,articles.article_content,categories.category_name,articles.img,users.u_fname,users.u_lname,DATE_FORMAT(articles.date,'%d %Y')作為日期
從文章
INNER JOIN用戶
ON users.user_id = article.user_Id
INNER JOIN文章
ON articles.article_id = article.article_id
INNER JOIN類別
打開categories.category_id = articles.category_id
WHERE articles.url ='$ url'“;
而且所有的東西都會保持不變。當您運行新的URL時,您將獲得與發(fā)送網(wǎng)站ID時相同的內(nèi)容。
總結(jié)
在上面的文章中,我教你如何創(chuàng)建SEO友好的URL,需要做什么改變以及如何重定向URL。如果您無法通過我們的文章了解它,請隨時與我聯(lián)系。我會盡快回復(fù)你。