plugins - How To Use htaccess to Rewrite Link Structure for a Page that is Generated Programatcially

My site uses a plugin Easy Digital Downloads, which creates products that are of url structure, sitenamedownloads{Prod

My site uses a plugin Easy Digital Downloads, which creates products that are of url structure, sitename/downloads/{Product} I want to change them to sitename/{product}

For example, / is one of my product, i want to make it appear at /

For this they provide ability to change slug define('EDD_SLUG', 'my-downloads-slug'); via php, in this use case, i could change it to something else, but not blank, the default slug is downloads and i wanted no slug, so made it blank, which didn't work.

I rather tried using htaccess, I am having trouble with that too. I tried this: RewriteRule ^downloads/(.*)$ $1

But it had no impact andmy links remained same, so please help me rewrite them

My site uses a plugin Easy Digital Downloads, which creates products that are of url structure, sitename/downloads/{Product} I want to change them to sitename/{product}

For example, https://milyin/downloads/steve-jobs-reality-is-malleable/ is one of my product, i want to make it appear at https://milyin/steve-jobs-reality-is-malleable/

For this they provide ability to change slug define('EDD_SLUG', 'my-downloads-slug'); via php, in this use case, i could change it to something else, but not blank, the default slug is downloads and i wanted no slug, so made it blank, which didn't work.

I rather tried using htaccess, I am having trouble with that too. I tried this: RewriteRule ^downloads/(.*)$ $1

But it had no impact andmy links remained same, so please help me rewrite them

Share Improve this question asked Sep 16, 2019 at 13:10 Aditya AgarwalAditya Agarwal 2764 silver badges22 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

You're looking to remove a post-type slug completely from the url. This is documented in this answer. Remember that after making any changes to post urls, you should resave your permalink structure for the changes to fully take effect.

Edit: You can additionally redirect from the old location (with the slug), this way:

function na_redirect_slug_requests() {
    $post = get_queried_object();

    // If our custom-post-type
    if ( ! empty( $post->post_type ) && 'events' === $post->post_type ) {
        $url = get_permalink( $post );

        // And the custom-post's url doesn't match the one we're looking at...
        if ( false === strpos( $url, $_SERVER['REQUEST_URI'] ) ) {

            // Then let's redirect.
            wp_safe_redirect( $url, 301 );
            exit;
        }
    }
}
add_action( 'template_redirect', 'na_redirect_slug_requests', 10, 50 );

Just remember to replace "events" with your custom post type slug.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745153721a4613989.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信