mod_rewrite` .htaccess`规则与Wordpress

时间:2016-07-04 10:52:18

标签: php wordpress apache .htaccess mod-rewrite

我在Wordpress上对帖子/页面的永久链接是:

  

www.foo.com/%postname%

我希望能够重定向以下内容:

  

来自: www.foo.com/web-design/%location%
  或: www.foo.com/web-development/%location%

     

来: www.foo.com/index.php?location=%location%

注意:我没有任何名称为web-designweb-development的帖子/网页,以避免冲突。

root中的.htaccess具有以下内容:

<IfModule mod_rewrite.c>
    RewriteBase /
    RewriteRule ^web-design/([^/]*)$ /index.php?location=$1 [L]
    RewriteRule ^web-development/([^/]*)$ /index.php?location=$1 [L]

    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
  • 如果我访问/index.php?location=foo,页面会按预期显示。
  • 如果我访问/web-design/foo(重写的规则),我会看到一个404页面 - 但是正确的$_GET变量会传递到该页面。

如何让Wordpress正确处理?

1 个答案:

答案 0 :(得分:1)

我通过将404页面从404.php重命名为_404.php来解决了这个问题。

因此,Wordpress会重定向回主页...但所有$_GET个变量都保持不变。

不是最好的解决方案,但它正在发挥作用!

相关问题