1

我需要将 wordpress 与“http://www.mysite.com/?p=123”之类的标准重写规则一起使用,但我想重写“http://www.mysite.com/store”之类的内容,但是我不想使用像“http://www.mysite.com/postname”这样的wordpress内部功能,我会在.htacess中重写,所以我写了这样内容被重写,

function replace_mycontent($string){
    $pattern = '/?page_id=([^/]+)/';  // urls like http://www.mysite.com/?p=123
    $replacement = '/$1/'; // gets replaced by http://www.mysite/store
return preg_replace($pattern, $replacement, $string);
}

add_filter('the_content', 'replace_mycontent');

这会产生错误,欢迎提供一些帮助,

谢谢 !!

4

1 回答 1

0

替换这行代码: $pattern = '/?page_id=([^/]+)/';

有了这个:$pattern = '/?p=([^/]+)/';

编辑1:

在 .htaccess 中,可以这样做(考虑到 Wordpress 安装在站点的根目录中):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L]
<IfModule>
于 2012-05-20T15:03:12.363 回答