Can I change the /login url to something else?

Permalink 1 user found helpful
I am migrating an existing website t concrete5 and I need to retain the previous URL /login for another purpose. Additionally I do not want visitors to be able to type /login and get a concrete5 login page.

Is it possible to change the URL of the concrete5 login page /login to something else?

 
Mnkras replied on at Permalink Best Answer Reply
Mnkras
yes, but it requires some minor modding, and i cannot assume that everything will work correctly, go to /concrete/controllers/ and copy /login.php to /controllers and go to /concrete/single_pages and copy the login.php to /single_pages, go it to the dashboard, pages and themes, singlepages, and delete the login page, rename both login.php's to something thats the same, it will be the login url,

open up the file and change the class name, so if you change the name to admin.php make it AdminController, then once you are done customizing go to the singlepages page again in the dashboard and go to the bottom and type in what you named the page (admin)


but, before doing any of this, make a mysql backup!
altitudems replied on at Permalink Reply
Perfect, just what I needed to hear. I'll give it a shot and let you know how it goes.
altitudems replied on at Permalink Reply
Ok, so after some trial and error it appears that this can be done, sort of.

It appears that the url pathname /login is referenced a great deal of place in the database. So I would not advise trying to remove or replace references to it.

Here is what I did to disable /login and use /admin instead:

1. Copy /concrete/controllers/login.php to /controllers/admin.php
2. Copy /concrete/single_pages/login.php to /single_pages/admin.php
3. Login to Concrete5 go to Dashboard > Pages and Themes > Single Pages and add "admin"

Now I can login via mysite.com/admin and mysite.com/login.

Here is how I "disabled" mysite.com/login

1. Create a blank single_pages/login.php
2. Optionally add the "Main" block area to the page. (Like you would if this was a themes default.php)

Ok so this doesn't really remove /login. But at least now I can use this page for other content.

Also be sure to adjust /config/site_theme_paths.php to use your sites theme for /login

If anyone knows a better way to do this, please let me know.

Thanks Mnkras for your help :)
frgomes replied on at Permalink Reply
frgomes
Hi,

Not sure if useful for you, but maybe useful anyway to the community:

Because I'm paranoid and due to security and DOS (deny of service) concerns, I've restricted my login page only to my [LAN] IP address.

I've done this employing mod_rewrite in Apache. I have separate configuration files for each of my websites. In the configuration file of http://www.jquantlib.com/ I've put something like this:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.6\.83$
RewriteRule ^/index.php/login/ - [F]
</IfModule>

... which means:

if REMOTE_ADDR is not 192.168.6.83
AND
if URL iswww.www.jquantlib.com/index.php/login/...

THEN [F]ail (403 - Forbidden).

Alternatively, I could redirect to another page, but I really don't think fishers deserve such effort from my side :D

I hope it helps.

Richard Gomes
http://tinyurl.com/frgomes
seanrmsy replied on at Permalink Reply
I need to do this (i.e. change the name of the /login.php page) but am running a newer version of C5. Is there a way to do this in 5.6.x that is easier?
JohntheFish replied on at Permalink Reply
JohntheFish
There are lots of popup and slideout login widgets you can get as addons. With those, your users need never see the actual login page.
chai714 replied on at Permalink Reply
chai714
Since this post is close to 4 years old, (and I can't find a similar thread) is this process still the same to change the login URL with the current version of C5?