2017-05-31 209 views
1

我在.htaccess下面的代码:重定向(重写规则)

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteRule ^test/ test.php [NC,L] 

当我打电话http://example.com/test/,将浏览器重定向我地址:https://example.com/test.php/,但随后的浏览器显示我的错误。我不想重定向到test.php

+0

'https:// example.com/test.php /' - 只需确认,重定向的URL末尾是否有斜杠?你想要发生什么?你有什么错误? – MrWhite

+0

我希望所有http重定向到https而不更改相关网址,现在它将测试更改为test.php –

回答

1

试着在你.htaccess文件的顶部禁用MultiViews

Options -MultiViews 

如果MultiViews启用然后mod_negotiation模块很可能重写test.php的mod_rewrite得到重定向到HTTPS。所以,mod_rewrite然后结束重定向到test.php

+1

谢谢你!我尝试通过谷歌查找文件,但无法找到,但这是解决方案!谢谢 –

+0

不客气。 Apache文档:https://httpd.apache.org/docs/2.4/content-negotiation.html#multiviews – MrWhite