php - 搜索引擎友好的 URL

标签 php apache .htaccess seo search-engine

我正在构建我的第一个搜索引擎友好的 CMS。我知道拥有和 SEO 网站的最大关键之一可能是拥有搜索引擎友好的 URL。所以有一个这样的链接:

http://www.mysite.com/product/details/page1

将产生比这样更好的排名:

http://www.mysite.com/index.php?pageID=37

我知道要像第一个那样创建 URL,我有两个选项之一:

  • 使用网络技术(在本例中为 PHP)创建目录结构
  • 利用 Apache 的 mod_rewrite 附加组件将这些 URL 传递给 PHP 处理器

就 PHP 而言,我对任何事情都非常满意。但是,我认为第一个选项更难以维护。

谁能告诉我如何编写 .htaccess 文件,它将:

  • 默默地将 SEO URL 定向到处理器脚本
  • 如果请求的 URL 是服务器上的实际目录,则不重定向

有没有比我现在尝试的方式更好的方式?

最佳答案

您可以为 apache 使用 .htaccess,在您的 web 根文件夹中创建文件,主要是“htdocs”,将其命名为“.htaccess”,添加下一个内容

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    Options -Indexes
</IfModule>

在您的 php 文件中,您可以从 $_GET 访问数据

$_GET['url'];

然后就可以使用数据来解析你所需要的了。

关于php - 搜索引擎友好的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6102129/

相关文章:

php - 致 PHP 专家 : How to master PHP?

php - 查询查询查询

PHP/Apache 在脚本上崩溃(段错误 (11)

php - 如何在我的主域上有一个 Django 应用程序,在子域上有一个 PHP 应用程序?

file - 如何使用 .htaccess 限制对一个或多个文件的访问?

apache - 仅在访问特定域时使用 HTTP Auth

php - 尝试使用 PDO 插入时出错:PDOStatement::execute(): SQLSTATE[HY093]: 参数编号无效:参数未定义

php - Magento 类别静态 block 仅不起作用

apache - 使用 Linux 脚本或安装在 linux 上的一些软件在云中编码视频

php - htaccess 重写后 "Unexpected token ' > '"第 1 行(中断 css 和图像)