更改/重命名我的 URL 中的子页面

Posted

技术标签:

【中文标题】更改/重命名我的 URL 中的子页面【英文标题】:Change/Rename subpages in my URL 【发布时间】:2017-12-28 05:53:48 【问题描述】:

我目前拥有:www.MYPAGE.com/category(我从商店网站访问的网站)

但我想要:www.MYPAGE.com/shop/category(所以子页面有点堆叠)

那么我该如何实现呢?使用 .htaccess 或更简单的方法?

【问题讨论】:

【参考方案1】:

如果你想要.htaccess

# Redirect old file path to new file path
Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html

但你可以使用框架路由,如果你使用一个

【讨论】:

【参考方案2】:

我假设您没有使用 CMS(Wordpress 等),而只是使用普通的旧 html。

要更改 URL 结构,只需更改 目录 结构。

例如,将您的 category index.html 文件放在目录 /shop/category/ 中,该页面的超链接现在是 www.MYPAGE.com/shop/category/

【讨论】:

【参考方案3】:

还不能发表评论,所以我会冒着回答不好的风险。

在前面,我已经有一段时间没有使用 php (php4) 了。但是我们从来没有在没有其他软件(通常是 Apache)的情况下使用 php 来实际提供页面。

对 php 和 pear 文档站点的快速检查并没有告诉我情况发生了很大变化。

因此,我将从我能记住的最简单的描述开始。

您的服务器计算机运行操作系统。您有一个 Web 服务器,例如 Apache、nginx、Microsoft 的 IIS、lighttpd 等,以 http 协议处理来自 Web 的查询。 (跳过对 https 的讨论,稍后再看。)

如果我们使用Apache's httpd,将会有一个Apache 配置文件,通常称为httpd.conf。在 Linux 或 Unix 环境中,这通常位于文件系统的 /etc/(某处)下。在该文件中,您将拥有 document root directory 的声明。

除非您添加其他配置,否则声明的文档根目录下的目录对网络可用,就像它们在您的文件系统中一样。因此,如果文档根目录设置为 /var/www 并且您的域名(这是一个单独的主题,我假设您没有询问)如您的示例中那样设置 - www.MYPAGE.com,那么文件

/var/www/aboutus.html

将在网络上以

的形式提供
www.MYPAGE.com/aboutus.html

和目录

/var/www/shop/

将在网络上以

的形式提供
www.MYPAGE.com/shop/

Apache 允许您使用 Alias 和 ScriptAlias 等配置指令重新定义该结构。脚本配置是将 php 连接到 httpd 服务器的基础。 Apache 的配置可以从他们关于 url 映射的文档页面中找到,您可以通过上面的链接找到。 (我没有足够的信誉发布两个以上的网址,抱歉。)

您可能还想查看虚拟主机 (vhost),但现在只关注别名。

假设你有产品照片在

/var/app/products/photos

你可以有这样的别名:

Alias "/shop/images" "/var/app/products/photo"

并且(如果我没记错的话,并且如果您没有设置位置和 URL 重写设置)它们将在网络上提供,网址为

www.MYPAGE.com/shop/images

而且,由于我没有足够的信誉来发布更多链接,所以我能做到这一点。快速查看 httpd 文档中的 mod_rewrite。

然后在php文档中查找相关的配置指令,最多可能需要一天的练习才能理解基础知识。

一定要让你的老板或老师允许你使用时间和硬件来练习。否则,您的工作效率将陷入困境。

【讨论】:

以上是关于更改/重命名我的 URL 中的子页面的主要内容,如果未能解决你的问题,请参考以下文章

子页面是啥意思

Django 渲染重定向到带有更改 url 的页面

MS Access 2007 重命名自定义组中的快捷方式以更改对象的名称

我在 django 中的静态文件不会被重新加载,除非我每次重新启动电脑时都重命名它们

SAPUI5:更改 url 中的 id 后如何重定向到 NotFound 页面?

Wordpress-列出列表中的子页,但不包含指向当前页的链接