How to remove subdirectory from url using .htaccess

When a visitor visits my site and reads a post, they see this in the address bar:
http://www.example.com/darkalfx/?p=71

How can I mask the url so that it shows this in the address bar:
http://www.example.com/?p=71

Read More

Basically I just want any page in that sub directory to show without the /darkalfx/ in the url.

This is what I have so far in my .htaccess
# Externally redirect only direct client requests for /index.php and
# /index.html and /index.htm with /darkalfx to root URL ending with slash.
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /darkalfx/([^/]+/)*index.(html?|php) HTTP/
RewriteRule ^darkalfx/(([^/]+/)*)index.(html?|php)$ http://www.example.com/$1 [R=301,L]

# Externally redirect only direct client requests for /darkalfx<something>
# to www.example.com/<something>.
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /darkalfx([^ ]+) HTTP/
RewriteRule ^darkalfx(.*) http://www.example.com/$1 [R=301,L]

# Externally redirect only direct client requests for /index.php
# and /index.html and /index.htm to URL ending with slash.
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /([^/]+/)*index.(html?|php) HTTP/
RewriteRule ^(([^/]+/)*)index.(html?|php)$ http://www.example.com/$1 [R=301,L]

# Externally redirect to canonicalize the domain name if a non-canonical
# hostname is requested, in order to prevent duplicate-content problems
RewriteCond %{HTTP_HOST} !^(www.example.com)?$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

# Internally rewrite requests for www.example.com/<anything>
# to internal server path at /darkalfx/<anything>
RewriteCond %{REQUEST_URI} !^/darkalfx
RewriteRule (.*) /darkalfx/$1 [L]

Related posts

Leave a Reply

1 comment