【问题标题】:Change URL with rewrite rule使用重写规则更改 URL
【发布时间】:2013-08-05 21:56:36
【问题描述】:

如何使用 wordpress 的重写规则将我的 URL 从 domain.com/sprekers/?spreker=value 更改为 domain.com/value。

我试过这样改

RewriteCond %{QUERY_STRING} ^spreker=(.*)$
RewriteRule ^sprekers/$ %1/? [R=301,L]

比我用 htaccess 测试器测试它http://htaccess.madewithlove.be 如果我在测试器上测试它一切正常,但是当我在我的 wordpress 网站上这样做时它不起作用。这是我完整的 htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{QUERY_STRING} ^spreker=(.*)$
RewriteRule ^sprekers/$ %1/? [R=301,L]
</IfModule>

我认为它不起作用,因为 /sprekers 已经由 wordpress “制作”了我该如何解决这个问题?

干杯 罗宾

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    我认为,您需要将第一个代码放在 RewriteBase / 规则之后。

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} ^spreker=(.*)$
    RewriteRule ^sprekers/$ %1/? [R=301,L]
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    

    【讨论】:

    • +1,是的,没错,顺序确实很重要,尤其是。对于 WP 来说,这是双重重要的。
    猜你喜欢
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2014-08-10
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多