基本上需要转换
是否使用www,example.com.cn/ [anycharacter]
进入
是否带有www,例如:/ cgi-bin / new-disk.cgi / dir / smooth /
additinoally ...
我想将所有 www.example.com 重定向到 example.com
答案 0 :(得分:2)
这应该适合你:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !cgi-bin/new-disk.cgi/dir/smooth
RewriteRule ^(.*)$ /cgi-bin/new-disk.cgi/dir/smooth/$1 [L]
对于前两行,它会检查您的网址中是否有www
。如果是这样,请将其退回到非www版本。
请注意最后一行的感叹号(!
)。这是一个非操作符,在此测试中,检查您当前请求的文件是否是您的最终重写文件,在这种情况下:
cgi-bin/new-disk.cgi/dir/smooth
如果这是真的,请将其分流到最后一行中指出的实际重写脚本。
字符 $ 1 ,引用同一行上第一组括号标记的第一个捕获组。
答案 1 :(得分:0)
对于你的部分答案,我相信你可以用这个作为基础的例子..希望你使用测试域:
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^/(.*) http://example.com/$1 [L,R=301]
可能需要添加(.*)
并使其成为另一部分的可选项。