使用.htaccess让URL的SEO更上一层楼-慕枫宁波网站建设

宁波网站建设 | 2017-10-11


每个人都想让自己的排名出现在搜索引擎结果的首页。影响搜索引擎排名的因素有很多,其中之一是人类可读的URL或对SEO友好的URL。对SEO友好的URL必须反映网站或博客的内容。


SEO


有两种方法可以使PHP中的url可读。一,通过使用Request_URi方法以及.htaccess文件。在本教程中,我将使用.htaccess文件为博客提供对SEO友好的URL。您可以使用相同的步骤来创建相同的操作。

让我们开始吧!

假设您正在运行一个使用自定义PHP代码开发的博客。每当你在你的博客上插入新帖子的时候,URL就会像这样产生:


www.yoursite.com/index.php?blog_id=1234


在本教程中,我们将把上面的URL改成:


www.yoursite.com/my-seo-url/


当你运行上述URL时或当你给URL提供一个博客ID时,会生成同样的内容。

步骤1:表中的更改
首先,当文章保存的时候,你需要修改你的表。在其中创建一个新的列并将其命名为seo - url

步骤2:使SEO友好的URL
让我们创建一个函数,它将为您生成对SEO友好的URL。
 
function 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 .= "/";

        return $vp_string;

}

上面的函数将把文章标题作为字符串返回SEO URL。就像这样:


my-SEO-URL /


您需要将此URL保存在我们在上一步创建的列中。

步骤3:修改.htaccess
由于我们已经生成了一个SEO URL,让我们进行一些更改。.htaccess将URL重定向到保存在数据库中的内容。如果尚未创建任何文件,则创建一个新文件并将其命名为. htaccess。现在粘贴下面的代码:

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 blog requests

让我们一步一步了解上面的代码:
第一行告诉Apache,我们将重写一些规则

RewriteEngine On

第二和第三行是检查调用URL是否是文件或目录名的条件。如果它是其中之一,URL将不会被重写。

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

最后一行是我们的重写URL。RewriteURL”^(([A-Za-z0-9]+[-]+[A-Za-z0-9]+)+(/))$”是一个正则表达式检查URL“斜杠(/)”后,一个完整的域名。您可以使用这个站点来了解关于Regex的更多信息。
如果URL与Regex表达式匹配,那么匹配的URL将被重定向到index .php?blog_url变量中的index.php?blog_url=(matched URL)
注意:如果出现错误,.htaccess文件您将得到500个内部服务器错误。
步骤4:索引文件的更改
现在在URL索引。您将使用$ _GET[' blog_url ']获得这个URL,并将此URL与您的表匹配,并可以快速显示全文。例如,在索引中。php文件你的数据库查询将被更改为:

$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') as dates

FROM article

INNER JOIN users

ON users.user_id = article.user_Id

INNER JOIN articles

ON articles.article_id = article.article_id

INNER JOIN categories

ON categories.category_id = articles.category_id

WHERE articles.url = '$url'";

所有的东西都会保持不变。当你运行你的新URL时,你会得到和你在发送博客id时得到的相同的内容。


上一篇:在jQuery中编写一个雷达图表-慕枫宁波网站建设下一篇:当幽默和网页设计相碰撞
联系电话 400-6065-301

建站咨询 星星-总监

投诉