Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess重写规则不适用于Safari_.htaccess_Redirect_Url Rewriting - Fatal编程技术网

.htaccess重写规则不适用于Safari

.htaccess重写规则不适用于Safari,.htaccess,redirect,url-rewriting,.htaccess,Redirect,Url Rewriting,我正在尝试将URLxyz.de重定向到www.xyz.de。为此,我使用了.htaccess,但它在Safari和Firefox中不起作用 这就是我正在做的 RewriteCond %{http_host} ^xyz.de [nc] RewriteRule ^(.*)$ http://www.xyz.de/$1 [r=301,nc] 这应该满足您的需求: RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule ^/?(.*)$ https://w

我正在尝试将URL
xyz.de
重定向到
www.xyz.de
。为此,我使用了
.htaccess
,但它在Safari和Firefox中不起作用

这就是我正在做的

RewriteCond %{http_host} ^xyz.de [nc]
RewriteRule ^(.*)$ http://www.xyz.de/$1 [r=301,nc]

这应该满足您的需求:

RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^/?(.*)$ https://www.example.com/$1 [R=301]
请注意,
%{http\u host}
%{http\u host}
是不同的

一开始使用302临时重定向是一个好主意,在确定所有设置都正确后,只需将其更改为301永久重定向。这样可以防止在尝试时出现缓存问题

此实现将在http服务器主机配置中或在动态配置文件(“.htaccess”文件)中同样工作。显然,重写模块需要在http服务器中加载,并在http主机中启用。在使用动态配置文件的情况下,您需要注意在主机配置中启用该文件的解释,并且该文件位于主机的
DOCUMENT\u ROOT
文件夹中

还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。只有在您无法访问真正的http服务器主机配置(读:真正廉价的服务提供商)或坚持编写自己的规则的应用程序(这显然是一个安全噩梦)的情况下,才提供它们作为最后一个选项

“不工作”到底是什么意思?规则本身看起来没问题。这是一个服务器端指令,只需将
位置
头(和301 HTTP状态代码)发送回浏览器。因此,如果它在一个浏览器中工作,那么它应该在所有浏览器中工作。可能它在其他浏览器中也能工作?如果它在某些情况下工作,而在其他情况下不工作,那么它肯定是浏览器中的缓存问题。如果它什么也不做,那么可能是
.htaccess
文件未启用,或者mod_rewrite未启用。
xyz.de
正在解析到同一服务器吗?