htaccess用于根页面/但不是子目录或子域

时间:2013-04-22 20:00:15

标签: .htaccess mod-rewrite

尝试仅为驻留在根目录中的页面重写URL字符串,删除化妆品reaons的页面扩展名。例如:

www.site.com/page.html ==> www.site.com/page www.site.com/about.html ==> www.site.com/about

目前使用此代码:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+\.com) [NC]
RewriteRule (.*) http://www.%1/$1 [R=301,L]

但是,我不希望规则修改子指令或子域。例如,我也有:

clientA.site.com(映射到www.site.com/clientA),我不需要保持不变。现在它将该页面(client.site.com/index.html)发送到找不到的页面。

1 个答案:

答案 0 :(得分:0)

您的规则不会影响子域名。必须有其他规则导致404找不到响应。

如果要限制对根页面的请求,可以通过在请求URL路径中排除斜杠来指定具有适当模式的请求

# exclude directories
RewriteCond %{REQUEST_FILENAME} !-d
# allow top level request URLs only
RewriteRule ^[^/]*$ http://www.%1/$0 [R,L]
在启用301的情况下

从不测试,请参阅此答案 Tips for debugging .htaccess rewrite rules 详情。