尝试仅为驻留在根目录中的页面重写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)发送到找不到的页面。
答案 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 详情。