php - .htaccess 使 URL 对搜索引擎友好

标签 php apache .htaccess url seo

我正在寻找解决问题的方法,我发现了这个 link 。但这并不能解决我的问题。我目前正在使用 PHP 构建一个网站,并且我已经在 url 中使用了查询字符串。例如,我有很多这样的网址:

www.example.com?page=something
and also
www.example.com?page=something&action=anything

我只想拥有:

www.example.com/something
and
www.example.com/something/anything

我也是 .htacess 脚本的新手,所以即使我从 Google 得到了一些建议,我也不知道该脚本对我意味着什么。

谢谢。

最佳答案

为此有不同类型的架构。

最常见的是mod_rewrite。使用一组RewriteRule,您可以根据需要重定向流量。

一个例子是:

RewriteEngine On
RewriteBase /

RewriteRule ^([^/]+)(?:/([^/]+))? index.php?page=$1&action=$2 [L]

但是,这些规则的管理可能会变得复杂。在您的情况下,您必须为 URL 创建另一个规则,例如:/some/other/page

另一种方法是使用 Front-end Controller Pattern 。您的所有流量都会通过一个位置(例如index.php)进行过滤路由。如果您运行的是 Apache 2.2.17 或更高版本(现在大多数服务器都是这样),您可以使用 FallbackResource 在一行中完成此操作。 .

例如:

FallbackResource /index.php

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

相关文章:

php - 是否可以在if block 中使用字符串变量作为整个条件(不使用eval())?

php - url重写的新手问题

php - header 在带有 JS 输出的 PHP 文件上过期

apache - 将根域指向没有 IP 和 CNAME 的 Heroku(Rails)

regex - .htaccess 如何删除文件扩展名和索引文件

php - 替代 php silex 模板

php - 根据记录查看页面

php - 如果没有谷歌地球插件加载 "Google Maps"

php - 将永久链接更改为 'Postname' 导致找不到页面

ruby-on-rails-3 - OpenSSL + 自签名证书 = OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed