我正在尝试设置一个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>
一个典型的网址是
/博客/ post_category_name / POST_NAME /
哪一切都运作良好。我面临的问题是用户能够更改他们的语言环境,而这些语言环境又在url前面加上区域cod,如下所示。
/ UK /博客/ post_category_name / POST_NAME /
现在的问题是WP将博客作为类别,将post_category_name作为帖子名称,然后在WP中抛出404。
基本上我想完全忽略区域代码,这可能吗?
我还应该补充一点,即uk(或任何其他区域)目录不存在,
由于
答案 0 :(得分: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)。你必须检查。