桐木舟学英语人工智能

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 108|回复: 0

服务器网站设置 Opencart网站在nginx静态化设置 经营微信视频号创作内容来创收 创作内容和编辑视频能赚钱致富 人人编程做网站收获流量 知识变现

[复制链接]

70

主题

7

回帖

282

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
282
发表于 2024-10-4 22:54:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
桐木舟对新手详细解释服务器和网站常识。这个话题是:Opencart程序做的网站,如何在nginx环境下设置伪静态。用简单通俗易懂的语言介绍了Nginx和Apache的区别。有兴趣的朋友把本文关于服务器的知识做成视频,成为视频创作者,把这个教程做成视频,作为兴趣的致富方法。后面还提供了重要的编码符合的读音。

在niginx设置里添加下面代码,(lnmp的可能是 网址.conf文件添加),最后设置好了,重启一下nginx。
代码如下:
  # SEO URL Settings
  # Nginx configuration of OC htaccess
  location = /sitemap.xml {
    rewrite ^(.*)$ /index.php?route=feed/google_sitemap break;
  }

  location = /googlebase.xml {
    rewrite ^(.*)$ /index.php?route=feed/google_base break;
  }

  location / {
    # This try_files directive is used to enable SEO-friendly URLs for OpenCart
    try_files $uri $uri/ @opencart;
  }

  location @opencart {
    rewrite ^/(.+)$ /index.php?_route_=$1 last;
  }
  # End SEO settings

下面是详细解说,观众朋友坐稳了,仔细看好了。有兴趣的,把下面的内容,做成视频,成为专业领域的视频创作者。

分析代码的内容并解释每一行的作用:

Opencart Nginx 静态化设置
在 Nginx 的配置文件中加入以下代码,适用于让 OpenCart 支持 SEO 友好的 URL(静态化 URL),这可以提高网站的用户体验和搜索引擎优化效果。
nginx

# SEO URL Settings# Nginx configuration of OC htaccess

  • 注释部分,这是对接下来内容的解释,表示这些是为了启用 SEO URL 而设置的 Nginx 配置。

处理 sitemap.xml 请求

nginx

location = /sitemap.xml {    rewrite ^(.*)$ /index.php?route=feed/google_sitemap break; }

  • location = /sitemap.xml:这个 location 匹配 URL 结尾为 /sitemap.xml 的请求。
    • = 表示精确匹配这个 URL。
  • rewrite ^(.*)$ /index.php?route=feed/google_sitemap break;:这个 rewrite 规则会将 /sitemap.xml 的请求重定向到 /index.php?route=feed/google_sitemap,生成 sitemap 文件。
    • ^(.*)$ 是一个正则表达式,匹配任意的路径(这里正好是 /sitemap.xml)。
    • break 表示停止匹配其他 rewrite 规则,直接执行重写后的路径。

处理 googlebase.xml 请求

nginx

location = /googlebase.xml {    rewrite ^(.*)$ /index.php?route=feed/google_base break; }

  • location = /googlebase.xml:这个 location 匹配 URL 为 /googlebase.xml 的请求,和上面的 sitemap.xml 类似。
  • rewrite ^(.*)$ /index.php?route=feed/google_base break;:重写 /googlebase.xml 的请求到 /index.php?route=feed/google_base,生成 Google Base 文件。
    • 作用:允许 OpenCart 的 Google Base feed 在这个 URL 路径下正常运行。

启用 SEO 友好 URL

nginx

location / {    # This try_files directive is used to enable SEO-friendly URLs for OpenCart    try_files $uri $uri/ @opencart;}

  • location /:这个 location 匹配所有其他的请求。
  • try_files $uri $uri/ @opencart:
    • $uri:尝试找到请求的文件,如果存在,就返回该文件。
    • $uri/:如果文件不存在,尝试在 URL 末尾加上 / 看是否能找到对应的目录。
    • @opencart:如果都没有找到,跳转到名为 @opencart 的 location,在后面的配置中定义了如何处理这些请求。

处理 SEO URL 的自定义规则

nginx

location @opencart {    rewrite ^/(.+)$ /index.php?_route_=$1 last;}

  • location @opencart:这是一个命名位置,用来处理在上一步 try_files 没有匹配成功的请求。
  • rewrite ^/(.+)$ /index.php?_route_=$1 last;:
    • ^/(.+)$:匹配从根目录开始的所有请求,捕获路径中所有字符。
    • _route_=$1:将捕获的 URL 部分作为 _route_ 参数传递给 index.php 文件,用于处理 OpenCart 的路由。
    • last:指示 Nginx 停止进一步的重写,并将请求发送到目标位置。

重启 Nginx

bash

# End SEO settings

  • 注释部分,标记 SEO 相关设置的结束。
bash

重启 Nginx 服务,使更改生效:sudo service nginx restart

  • 作用:确保 Nginx 应用新的配置文件,使 SEO URL 能在 OpenCart 中生效。

总结
  • 这些 Nginx 设置的主要作用是让 OpenCart 支持 SEO 友好的 URL,也就是静态化 URL。
  • 代码通过 try_files 和 rewrite 规则,将静态 URL 重写到 index.php,并传递正确的参数给 OpenCart,以便 CMS 能正确处理这些 URL 请求。
  • 配置是正确的,只要 Nginx 和 OpenCart 都正确配置好,这些规则应该可以让你的网站支持 SEO URL。

补充知识
Nginx 和 Apache 是什么?
  • NginxApache 都是网页服务器。它们负责接收用户的网页请求并把网页内容发送给用户的浏览器。
它们有什么区别?
  • 架构
    • Nginx 使用的是事件驱动架构,这意味着它能同时处理大量的请求,适合高流量的网站。
    • Apache 使用的是进程/线程架构,每个请求会开启一个独立的进程,处理大量请求时可能会占用更多资源。
  • 静态 vs 动态内容
    • Nginx 更擅长处理静态内容(比如图片、CSS、HTML 等),因为它能更高效地处理并发送这些文件。
    • Apache 处理动态内容(如 PHP、数据库操作)更有优势,因为它与很多动态内容的模块(如 PHP)集成更好。
它们有联系吗?是的,它们都是用来托管网站的网络服务器,但可以组合使用。例如:
  • Nginx 用来处理静态内容。
  • Apache 用来处理动态内容。
这种组合可以发挥它们各自的优势。
为什么在它们里面设置静态?设置静态是为了让网页加载得更快。Nginx 或 Apache 会直接把静态文件(如图片、HTML 文件)发送给用户,而不用每次都去计算或处理动态内容。这样可以减少服务器负担,提高效率。
我们可以称它们为“网络环境”吗?可以称它们为**“网络服务器”,而不是“网络环境”,因为它们是用来处理和传输网页内容**的软件,而“网络环境”通常指包括服务器硬件、软件、网络等组成的整体环境。

The regular expression ^(.*)$ can be read in English like this:
  • ^: "Caret" or "Start of the line"
  • ( ): "Capture group" or "Parentheses"
  • .: "Dot" or "Match any character"
  • *: "Asterisk" or "Zero or more of the previous character"
  • $: "Dollar sign" or "End of the line"
So, it can be read as:
"Start of the line, capture any character zero or more times, end of the line."
In context, this regular expression matches any string.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|桐木舟论坛

GMT+8, 2024-10-31 16:22 , Processed in 0.036420 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表