【问题标题】:Ignoring url prefix using wordpress permalinks使用 wordpress 永久链接忽略 url 前缀
【发布时间】:2012-05-07 06:03:23
【问题描述】:

我正在尝试设置一个 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。

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

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

谢谢

【问题讨论】:

    标签: wordpress mod-rewrite permalinks


    【解决方案1】:

    如果您想捕获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-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      相关资源
      最近更新 更多