htaccess重写规则重定向域从文件夹加载而不在url中显示文件夹名称

时间:2014-04-03 20:17:46

标签: apache .htaccess rewrite rule

我有一个从文件夹加载域的重写规则。当我尝试转到http://www.mydomainfolder.com/somerfolder然后重定向并显示" mydomainfolder"时我遇到的问题在地址(http://www.mydomainfolder.com/mydomainfolder/somefolder/index.php)中,但如果添加尾部斜杠(http://www.mydomainfolder.com/somerfolder/),则它不会在地址中显示mydomainfodler。我在这做错了什么。请帮忙!!

       Options +FollowSymLinks

       RewriteEngine On


       RewriteCond %{HTTP_HOST} ^(.*)?smydomain.com$
       RewriteCond %{REQUEST_URI} !^/mydomainfolder/
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.*)$ /mydomainfolder/$1
       RewriteCond %{HTTP_HOST} ^(.*)?mydomain.com$
       RewriteRule ^(/)?$ /mydomainfolder/$1/index.php [L]

1 个答案:

答案 0 :(得分:2)

将规则替换为:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} mydomain\.com$
RewriteRule ^/?$ /mydomainfolder/index.php [L]

RewriteCond %{HTTP_HOST} mydomain\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/mydomainfolder
RewriteRule ^(.*?)/?$ /mydomainfolder/$1/ [L]