Change from wp-login.php to login
-
Twice I have to do it, in 2 blogs. Then I thought to do a tutorial to help someone else. I how it helps you too.
1) Redirect with .htaccess
the original .htaccess looks like that# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
so, after
RewriteBase /
add a new rule
RewriteBase / RewriteRule ^login$ wp-login.php
Now you can access the login page using these 2 urls (/login and /wp-login.php). So we need to hide the wp-login.php links in your blog.
2) Change the links from wp-logins.php to /login
in your functions.php (or someone plugin) add this filteradd_filter('site_url', 'wplogin_filter', 10, 3); function wplogin_filter( $url, $path, $orig_scheme ) { $old = array( "/(wp-login\.php)/"); $new = array( "login"); return preg_replace( $old, $new, $url, 1); }
Now, every time wordpress call site_url(“wp-login.php?action=xxx”); this function will redirect to /login.
3) Notes
I think there are some few links to wp-login.php which wordpress make without use the filter ‘site_url’. So you need to look for ‘wp-login.php’ on /wp-include and /wp-admin and change it. You can use site_url(‘wp-login.php?[and the actions]’); instead the hard code link.I think there is other way, but it worked well for me.
Any suggestion is very apreciated =)I am also looking for how to change the wp-admin to admin.
I hope it can help.
- The topic ‘Change from wp-login.php to login’ is closed to new replies.