To set up redirects in WordPress using the .htaccess file, locate the file in your site’s root directory and add redirect rules above the # BEGIN WordPress section. For basic 301 redirects, use the format Redirect 301 /old-page https://example.com/new-page. For pattern-based redirects, enable mod_rewrite and use rewrite rules like redirecting HTTP to HTTPS or changing URL structures. Always back up the file, test changes in a staging environment, avoid caching issues, check for conflicts with plugins, and ensure syntax accuracy to prevent errors.
Setting up redirects in WordPress using the .htaccess
file is a straightforward way to manage URL changes, especially when moving content or reorganizing your site. It’s fast, doesn’t require plugins for simple cases, and works at the server level. But it also needs to be done carefully—especially if you're not used to working with server configuration files.
Understanding Where to Add Redirects
The .htaccess
file is usually located in the root directory of your WordPress installation. If you're using an FTP client or your hosting control panel (like cPanel), you can find it there. Keep in mind that this file might be hidden by default, so make sure your file browser shows hidden files.
Before making any changes:
- Always back up your
.htaccess
file. - Test redirect rules on a staging environment if possible.
You'll want to place your redirect rules above the # BEGIN WordPress
section in the file. That way, they won't get overwritten when WordPress updates its internal rewrite rules.
How to Do a Basic 301 Redirect
A 301 redirect tells browsers and search engines that a page has permanently moved to a new location. This is great for SEO because it passes most of the original page's ranking power to the new one.
To redirect an old page to a new one, use this format:
Redirect 301 /old-page https://example.com/new-page
Just replace /old-page
with the path of the old URL (relative to your domain) and the full URL of the new destination.
Some common variations:
- Redirecting a whole category:
Redirect 301 /old-category https://example.com/new-category
- Sending traffic from an outdated post to your homepage:
Redirect 301 /outdated-post https://example.com/
This method works well for small-scale redirects, but if you have dozens or hundreds, consider using a plugin or more advanced rewrite rules.
Using Rewrite Rules for More Flexibility
Sometimes you need something more flexible than basic Redirect
commands—like redirecting all URLs matching a certain pattern. For that, Apache's mod_rewrite
engine comes into play.
Here's a common example: redirecting all traffic from HTTP to HTTPS:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Another example: redirecting all requests for old blog URLs like /blog/post-name
to /news/post-name
:
RewriteEngine On RewriteCond %{REQUEST_URI} ^/blog/(.*)$ RewriteRule ^blog/(.*)$ /news/$1 [R=301,L]
These rules are more powerful but also trickier. A single typo can break your site, so double-check everything and test after applying.
Common Mistakes and Tips
When editing .htaccess
, mistakes happen. Here are a few common pitfalls and how to avoid them:
- Caching issues: After setting up a redirect, clear both your browser cache and any caching plugins or CDN caches to see the change.
-
Conflicting rules: If you're using a redirection plugin in WordPress, it may conflict with manual
.htaccess
rules. Check both places if things aren’t working as expected. -
No syntax highlighting: Editing
.htaccess
in plain text makes it easy to miss errors. Use a code editor that supports syntax checking. - Overwriting rules: Make sure your redirect lines don’t get pushed below the WordPress-generated section—you’ll lose them after a permalink update.
If your site breaks after saving changes, restore your backup .htaccess
file immediately.
Basically, setting up redirects via .htaccess
is pretty straightforward once you understand the basics. Just remember to keep it clean, test often, and always have a backup handy.
The above is the detailed content of How to set up redirects in WordPress htaccess. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Use WordPress testing environments to ensure the security and compatibility of new features, plug-ins or themes before they are officially launched, and avoid affecting real websites. The steps to build a test environment include: downloading and installing local server software (such as LocalWP, XAMPP), creating a site, setting up a database and administrator account, installing themes and plug-ins for testing; the method of copying a formal website to a test environment is to export the site through the plug-in, import the test environment and replace the domain name; when using it, you should pay attention to not using real user data, regularly cleaning useless data, backing up the test status, resetting the environment in time, and unifying the team configuration to reduce differences.

When managing WordPress projects with Git, you should only include themes, custom plugins, and configuration files in version control; set up .gitignore files to ignore upload directories, caches, and sensitive configurations; use webhooks or CI tools to achieve automatic deployment and pay attention to database processing; use two-branch policies (main/develop) for collaborative development. Doing so can avoid conflicts, ensure security, and improve collaboration and deployment efficiency.

The key to creating a Gutenberg block is to understand its basic structure and correctly connect front and back end resources. 1. Prepare the development environment: install local WordPress, Node.js and @wordpress/scripts; 2. Use PHP to register blocks and define the editing and display logic of blocks with JavaScript; 3. Build JS files through npm to make changes take effect; 4. Check whether the path and icons are correct when encountering problems or use real-time listening to build to avoid repeated manual compilation. Following these steps, a simple Gutenberg block can be implemented step by step.

TosetupredirectsinWordPressusingthe.htaccessfile,locatethefileinyoursite’srootdirectoryandaddredirectrulesabovethe#BEGINWordPresssection.Forbasic301redirects,usetheformatRedirect301/old-pagehttps://example.com/new-page.Forpattern-basedredirects,enabl

UsingSMTPforWordPressemailsimprovesdeliverabilityandreliabilitycomparedtothedefaultPHPmail()function.1.SMTPauthenticateswithyouremailserver,reducingspamplacement.2.SomehostsdisablePHPmail(),makingSMTPnecessary.3.SetupiseasywithpluginslikeWPMailSMTPby

In WordPress, when adding a custom article type or modifying the fixed link structure, you need to manually refresh the rewrite rules. At this time, you can call the flush_rewrite_rules() function through the code to implement it. 1. This function can be added to the theme or plug-in activation hook to automatically refresh; 2. Execute only once when necessary, such as adding CPT, taxonomy or modifying the link structure; 3. Avoid frequent calls to avoid affecting performance; 4. In a multi-site environment, refresh each site separately as appropriate; 5. Some hosting environments may restrict the storage of rules. In addition, clicking Save to access the "Settings>Pinned Links" page can also trigger refresh, suitable for non-automated scenarios.

To implement responsive WordPress theme design, first, use HTML5 and mobile-first Meta tags, add viewport settings in header.php to ensure that the mobile terminal is displayed correctly, and organize the layout with HTML5 structure tags; second, use CSS media query to achieve style adaptation under different screen widths, write styles according to the mobile-first principle, and commonly used breakpoints include 480px, 768px and 1024px; third, elastically process pictures and layouts, set max-width:100% for the picture and use Flexbox or Grid layout instead of fixed width; finally, fully test through browser developer tools and real devices, optimize loading performance, and ensure response

Tointegratethird-partyAPIsintoWordPress,followthesesteps:1.SelectasuitableAPIandobtaincredentialslikeAPIkeysorOAuthtokensbyregisteringandkeepingthemsecure.2.Choosebetweenpluginsforsimplicityorcustomcodeusingfunctionslikewp_remote_get()forflexibility.
