Https取消干净的网址

时间:2016-04-21 15:48:24

标签: .htaccess

我的htaccess文件存在问题。我能够使https工作(绿锁和所有),但我无法让我的干净网址工作。我试图让我的网页https://www.mystore.com/product.php?id=1成为https://www.mystore.com/product/1。我现在拥有的,只是不断给我一个404.

这是我的代码......

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://www.mystore.com/%{REQUEST_URI} [R,L]

#Rewrite for product.php?id=1
RewriteRule ^product/([0-9]+) product.php?id=$1 [NC,L]

我已经搜索了几天,并在stackoverflow上看到了很多类似的问题,但它们对我来说有点太具体了,无法弄清楚如何在我的情况下应用它。尽管如此,我已经尝试了大量的排列,包括摆脱" L"在https重写之后,但我总是得到404错误。 我最接近的是我试过的时候......

RewriteRule ^product/([0-9]+) https://www.mystore.com/product.php?id=$1 [NC,L]

...,这需要我的产品/ 1链接并将我发送到product.php?id = 1。完全向后而不是我想要的东西,但它并没有给我404错误。它把我带到了正确的页面(错误的网址)。

我有一种感觉,只是缺少一个小细节,但我无法弄明白。我很感激任何帮助。感谢

1 个答案:

答案 0 :(得分:1)

尝试:

Options -MultiViews

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://www.mystore.com%{REQUEST_URI} [R,L]

#Rewrite for product.php?id=1
RewriteRule ^product/([0-9]+) product.php?id=$1 [NC,L]

/之前没有REQUEST_URI