开发者

Invisible .htaccess Redirect from /public_html/ to /public_html/folder

I need to point the root domain of my hosting account to a subdirectory (joomla). I want this to be invisible (i.e. browser address bar doesn't change). Also, I need this to work when a user hits the root or a subfile/subfolder.

I've tried the following rul开发者_C百科es, which work individually, but I can't get them to work together.

This one works when no subfile/subfolder is specified:

RewriteEngine On
RewriteRule ^$ /joomla/ [L]

And this one works when a subfile/subfolder IS specified:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+)$ /joomla/$1 [L]

I just can't figure out how to combine them.


RewriteEngine On

RewriteRule ^(.*)$ /joomla/$1 [L]

Should work (untested). The key difference between this and your second attempt is the + vs *. The + will match one or more, whereas the * will match 0 or more, so this should work also when no file/subdirectory is specified.


This should do the trick:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /joomla/$1 [L]

.* will also match an empty string. You also more than likely want to do the -d check to make sure that they aren't accessing a directory that exists (though, thinking about it, this might mess with the / matching, I don't know).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜