Search code examples
apache.htaccesshttp-redirectmod-rewritefriendly-url

only access with url which I write on htaccess prevent accessing real url


I have folder admin
And I have changed url from admin to admin-cdn with below rule

RewriteRule ^admin-cdn/?(.*)$ admin/$1 [L]

Now I can access admin folder's files with both www.domain.com/admin/ and www.domain.com/admin-cdn/ url

I want show 404 error when user what to access with www.domain.com/admin path

How can do this in .htaccess file


Solution

  • You can do it like this:

    RewriteEngine On
    
    # if /admin/ is entered as URL then send 404
    RewriteCond %{THE_REQUEST} \s/admin[?/\s] [NC]
    RewriteRule ^ - [L,R=404]
    
    # internal rewrite from /admin-cdn/ to /admin/
    RewriteRule ^admin-cdn(/.*)?$ admin$1 [L,NC]