编程技术分享平台

网站首页 > 技术教程 正文

Nginx下配置wordpress友好形式的固定链接

xnh888 2024-10-16 17:56:48 技术教程 18 ℃ 0 评论

Wordpress默认的固定连结形式是“丑陋的”,类似http://www.weizhiyong.com?p=N,当然,这里的“丑陋”并非针对人类用户(有人在审美上就喜欢这样的形式也未可知),而是针对搜索引擎而言的,这样的链接结构和形式,对于进行SEO(搜索引擎优化)时非常不便。这是因为,wordpress采用了动态的网站形式(和当前主流的网站架构形式一样),这对于人类用户来说并没有什么问题,无论网页是静态存储还是动态生成的,呈现给我们的形式都一样,而我们访问时也一般通知直接点击超链接完成,而并不关心链接地址究竟是怎样的结构。但对于计算机来说就不同了,网站进行搜索引擎优化时,才有前述的形式对网络爬虫是十分不友好的,它只是保证wordpress站点可以正常访问而已。

在Wordpress中也提供了几种优化的永久链接(permilink)结构形式供选择,但是,这样的修改都需要对网站引擎进行一些操作,使网站引擎可以满足url链接地址重写的要求,从而保证用户和搜索引擎可以访问到指定网页,否则,在修改了wordpress的链接结构之后,所有的超链接都会变得无法访问。

在最常见的LAMP环境下,使用Apache作为网站引擎时,只要开启url_rewrite即可:

  • 开启apache的url_rewrite模块,也就是在httpd.conf中去掉这句话的注释LoadModule rewrite_module modules/mod_rewrite.so
  • 找到AllowOverride,把AllowOverride None修改成AllowOverride all
  • 在所需要进行rewrite的web的主目录下添加.htaccess文件,添加上一句话:RewriteEngine on
  • 新建.htaccess 文件并上传到wordpress根目录下,文件内容包括
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

但是,随着LNMP环境的流行,越来越多网站采用更紧凑,对动态站点支持更好的Nginx作为网站引擎,在这种条件下,修改的步骤与Apache环境下不同。参考wordpress官网的文档,可通过以下步骤进行。

  • 打开nginx配置文件,一般为/etc/nginx/nginx.conf 或者/etc/nginx/sites-enabled/default或者其他配置文件。
  • 找到要重写路径的站点,location后面加上
try_files $uri $uri/ /index.php?$args;
//默认情况下可能是 try_files $uri $uri 404;这也是默认情况下找不到网页的原因
  • 重启nginx服务 nginx -s reload
  • 找到wordpress设置中永久链接部分,选择自己喜欢的链接形式(对搜索引擎友好的形式)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表