.htaccess HTACCESS文件中的WWW重定向
我在上有一个React应用程序的htaccess文件。我希望它自动重写为,同时在重定向期间保留所有参数 我在GitHub()上找到了这个很棒的默认htaccess模板,我最不需要的就是让www重定向。有人知道我需要添加什么以及在文件中的什么位置来获得WWW重写吗.htaccess HTACCESS文件中的WWW重定向,.htaccess,.htaccess,我在上有一个React应用程序的htaccess文件。我希望它自动重写为,同时在重定向期间保留所有参数 我在GitHub()上找到了这个很棒的默认htaccess模板,我最不需要的就是让www重定向。有人知道我需要添加什么以及在文件中的什么位置来获得WWW重写吗 <ifModule mod_rewrite.c> ####################################################################### # GENERAL
<ifModule mod_rewrite.c>
#######################################################################
# GENERAL #
#######################################################################
# Make apache follow sym links to files
Options +FollowSymLinks
# If somebody opens a folder, hide all files from the resulting folder list
IndexIgnore */*
#######################################################################
# REWRITING #
#######################################################################
# Enable rewriting
RewriteEngine On
# If its not HTTPS
RewriteCond %{HTTPS} off
# Comment out the RewriteCond above, and uncomment the RewriteCond below if you're using a load balancer (e.g. CloudFlare) for SSL
# RewriteCond %{HTTP:X-Forwarded-Proto} !https
# Redirect to the same URL with https://, ignoring all further rules if this one is in effect
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R,L]
# If we get to here, it means we are on https://
# If the file with the specified name in the browser doesn't exist
RewriteCond %{REQUEST_FILENAME} !-f
# and the directory with the specified name in the browser doesn't exist
RewriteCond %{REQUEST_FILENAME} !-d
# and we are not opening the root already (otherwise we get a redirect loop)
RewriteCond %{REQUEST_FILENAME} !\/$
# Rewrite all requests to the root
RewriteRule ^(.*) /
</ifModule>
<IfModule mod_headers.c>
# Do not cache sw.js, required for offline-first updates.
<FilesMatch "sw\.js$">
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
</IfModule>
#######################################################################
#一般的#
#######################################################################
#使apache遵循指向文件的sym链接
选项+FollowSymLinks
#如果有人打开一个文件夹,则隐藏结果文件夹列表中的所有文件
IndexIgnore*/*
#######################################################################
#重写#
#######################################################################
#启用重写
重新启动发动机
#如果不是HTTPS
重写条件%{HTTPS}关闭
#注释掉上面的RewriteCond,如果您正在使用SSL负载平衡器(例如CloudFlare),则取消注释下面的RewriteCond
#重写cond%{HTTP:X-Forwarded-Proto}!https
#使用https://重定向到同一URL,如果此规则有效,则忽略所有其他规则
重写规则^(.*)https://%{HTTP_HOST}/$1[R,L]
#如果我们到了这里,就意味着我们在使用https://
#如果浏览器中不存在具有指定名称的文件
重写cond%{REQUEST_FILENAME}-F
#并且浏览器中具有指定名称的目录不存在
重写cond%{REQUEST_FILENAME}-D
#而且我们还没有打开根目录(否则我们会得到一个重定向循环)
重写cond%{REQUEST_FILENAME}\/$
#将所有请求重写到根目录
重写规则^(.*)/
#不要缓存脱机首次更新所需的sw.js。
标题集缓存控制“专用、无缓存、无存储、代理重新验证、无转换”
标题集Pragma“无缓存”
为了设置所需的重定向,www.example.com到example.com或反之亦然,您必须为每个名称设置一个A记录
要将用户从www重定向到普通的非www域,请插入以下配置:
在.htaccess中:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
如果您不需要对主机名进行动态设置,那么我会在检查
%{HTTPS}off
后添加一个条件,检查主机名是否以www.
开头,并添加[或]
标记为前者,然后在以下规则的替换URL中对主机名进行硬编码
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*) https://searchglutenfree.com/$1 [R,L]
如果您替换了注释
#如果不是HTTPS
#和#如果我们到了这里,这意味着我们在您的.htaccess中使用HTTPS://
,它应该可以工作。请参阅:https://stackoverflow.com/questions/6515081/htaccess-remove-www-from-url-directories
谢谢@hacker315,实际上,我在我的文件中的几个不同的地方插入了这段代码,但它对我不起作用。也许我遗漏了什么?如果您不需要对主机名进行动态设置,那么我会在检查%{HTTPS}off
后添加一个条件,检查主机名是否以www.
开头,并添加[或]
标记为前者,然后在以下规则的替换URL中对主机名进行硬编码。谢谢@CBroe。我对htaccess非常不熟悉,所以我要找的是确切的代码。我有一个悬赏,所以若你们的答案是准确的变化,它的工作,我会奖励你们:)增加了一个答案,基本上应该这样工作。如果你在我提到的评论之后留下剩下的文字,一切都应该正常。(这里说应该,因为如果不能在实际系统上进行测试,这些事情并不总是100%正确。如果遇到任何问题,请告诉我。)R
标志本身将导致状态代码为302的临时重定向,这对测试很有好处(否则你的浏览器会缓存重定向本身,这样当你做出更改后看不到任何效果时,你就很容易被欺骗。)如果一切正常,用R=301
替换它,使其成为一个永久重定向。现有的重定向是什么?(整个事情现在应该是这样的,)删除了我的上一条评论。这是99%。有没有办法删除“seachlupnfree.com”并将其设置为通配符?我必须将其复制到一些网站,最好不要替换该部分。发现另一个问题…https://www.searchlupnfree.com没有正确重定向(没有空格,添加以显示不起作用的URL)我在上面htaccess文件的第24行和第36行尝试了这段代码htttps://www.searchglutenfree.com. 这个代码应该插入哪一行?如果你能告诉我它在哪一行工作,我很乐意给你赏金。