【问题标题】:Clean URL Structure for WooCommerce within a subdirectory清理子目录中 WooCommerce 的 URL 结构
【发布时间】:2018-04-20 12:40:32
【问题描述】:

我有一个现有的网站,我想附加一个 wordpress 博客和 woocommerce 商店。出于很多原因,我真的很想让 wordpress 安装在我的文件结构中它自己的目录中。我真的很想有这样的 url 结构:

mywebsite.com/blog
mywebsite.com/store

我尝试将 wordpress 放在 /blog 目录中并使用为商店添加重写

RewriteRule ^store$ /blog/shop [NC,L,QSA]

但这确实与 Wordpress 的重写相混淆。我想以一种使 Wordpress 可升级的方式做到这一点。

【问题讨论】:

  • 为简单起见,您可以将博客和商店页面的 slug 更改为“商店”和“博客”以外的内容。也许用一些文本作为前缀/附加它们......
  • blog 不是一个蛞蝓。这是实际目录。 shop 是一个 slug,但 URL 是 /blog/slug
  • 你不应该对重写做任何事情,将 WordPress 安装到子目录是很常见的事情。安装后只需刷新永久链接,它应该可以工作。
  • 效果很好,只是不是我想要的 URL 结构。我真的希望商店有一个前面没有blog 或其他任何内容的网址。
  • 我已经添加了一个答案供您检查。我一直使用子目录安装,并且子目录总是被排除在我的永久链接结构中。

标签: php wordpress .htaccess woocommerce url-rewriting


【解决方案1】:

检查您的 .htaccess 是否如下所示。这将创建没有尾随 /blog/ 的永久链接

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

还要确保在“设置/常规”中将 WordPress 地址 (URL) 和站点地址 (URL) 选项设置为 http://mywebsite.com/blog

【讨论】:

  • 是的,它会正常工作,每次安装都有自己的 .htaccess 文件。
  • 我以为你是说把它放在主 .htaccess 文件中。这已经是我的/blog/.htaccess 的样子了。我不确定我们是否都在尝试解决同一个问题。我感谢您的帮助。除了最初的问题状态之外,我不确定如何澄清我正在尝试做的事情。
  • 您希望从我理解问题的 URL 中删除基本子目录。检查您已删除子目录的设置/常规选项并刷新永久链接。您根本不需要触摸 .htaccess 文件,当您刷新永久链接时,WordPress 会处理这个问题。
  • 你分享的.htaccess文件和我已有的一样。
猜你喜欢
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
  • 2010-12-08
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
相关资源
最近更新 更多