我在一个子目录中创建了一个网站,并希望该网站看起来好像它位于根目录中。
我使用下面的Mod_Rewrite代码来获取站点根目录以重定向到子目录,但我希望文件所在的文件夹不会出现。
目前:www.example.com/sitefiles/content/
想要:www.example.com/content
由于
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^$ /sitefiles/ [L]
RewriteRule (.*) /sitefiles/$1 [L]
答案 0 :(得分:2)
如果需要通过.htaccess和mod_rewrite完成,请使用:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/sitefiles/
RewriteRule (.*) /sitefiles/$1 [L]
由于您未点击网站根目录时未明确指定页面,因此不需要此行:RewriteRule ^$ /sitefiles/ [L]
您需要为主重写规则添加条件,以防止重写循环(当重写的URL再次被重写时):RewriteCond %{REQUEST_URI} !^/sitefiles/
答案 1 :(得分:0)
好吧,目录应该没有理由出现在任何列表中,你发布的mod_rewrite应该允许你像你说的那样做。不过,我会采取不同的方式:
Options +FollowSymLinks +Indexes
RewriteEngine on
RewriteBase /
RewriteRule ^$ sitefiles/ [L]
RewriteRule ^(.+)$ sitefiles/$1 [L]
希望这有效。