我有指向多个域的主机。我需要从请求的 URL 中删除“www”部分并重定向到它。
Ex: 1. www.abc.com rediect to abc.com
2. www.xyz.com redirect to xyz.com
我需要动态地进行此操作。
我使用下面的 URL 重写来执行此操作,但它不起作用。
RewriteCond %{HTTP_HOST} ^www\.%{REQUEST_URI}\.com$
RewriteRule ^/?$ "https\:\/\/%{REQUEST_URI}\.com\/" [R=301,L]
非常感谢您的帮助。
答案1
您可以尝试以下规则:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
这会将 www 重定向到非 www,并且仅适用于 http URL。如果需要,您可以将其更改为 https。如果您在.htaccess
文件中写入此配置,则需要确保您具有正确的AllowOverride
配置选项。否则,该.htaccess
文件将不会被执行。