htaccess - 隐藏所有网址只留下域

时间:2016-03-30 16:40:51

标签: apache .htaccess mod-rewrite

我有这个htaccess代码:

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/shop/home
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /vs/shop/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ /shop/home[L]

这段代码的作用是当用户打开url:domain.com时,它会将用户重定向到domain.com/shop/home但是在url栏中它只显示domain.com

这适用于主页。问题是我有100页,我不会手动完成。

如何让这个脚本动态化?

我的意思是:

我想要仅显示地址栏(网址栏):domain.com而不是domain.com/shop/home或domain.com/shop/pages或domain.com/shop/etc

我具体到足够吗?

1 个答案:

答案 0 :(得分:1)

您需要重新排序规则并添加L标志以结束规则处理

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ /shop/home [L]
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /vs/shop/$1 [L]