1

我正在尝试设置一个 htaccess 规则,该规则将与我拥有的当前永久链接结构一起使用。

我目前的永久链接结构是这样的

/%category%/%postname%/

而我的htaccess如下

<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>

一个典型的网址是

/blog/post_category_name/post_name/

这一切都很好。我面临的问题是用户能够更改他们的语言环境,这反过来又在 URL 前面加上区域代码,如下所示。

/uk/blog/post_category_name/post_name/

现在的问题是 WP 将 blog 作为类别,将 post_category_name 作为帖子名称,然后在 WP 中引发 404。

本质上我想完全忽略区域代码,这可能吗?

我还应该补充一点,英国(或任何其他地区)目录不存在,

谢谢

4

1 回答 1

2

如果要捕获该uk/文件夹,则必须在根目录中进行。把它放在根目录中.htaccess(如果你想确保它不是目录/文件,你可以检查!-f 和!-d)。这将允许你从查询字符串中获取国家代码。

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^([a-zA-Z]{2})/blog/(.*) /blog/$2?ccode=$1 [L,QSA]
</IfModule>

您也可以忽略国家代码:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^([a-zA-Z]{2})/blog/(.*) /blog/$2 [L]
</IfModule>

不确定这是否会改变 WP 中的某些内容(不确定他们如何处理 url)。你必须检查一下。

于 2012-04-27T21:58:09.103 回答