【发布时间】:2021-02-11 00:11:56
【问题描述】:
我认为这很简单,但我就是想不通。
我有一个类似https://www.example.com 的域
我想改写成https://example.com
这行得通。但我也在重写其他网址,如https://www.example.com/privacy
如果我也尝试重写这些,用户总是被重定向到https://example.com/privacy.php
如何防止我的服务器显示实际文件名而不是其重写的 url?
我的代码如下所示:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
RewriteRule ^checkout checkout.php [L]
RewriteRule ^imprint imprint.php [L]
RewriteRule ^privacy privacy.php [L]
RewriteRule ^terms terms.php [L]
RewriteRule ^allergy allergy.php [L]
RewriteRule ^nutrition nutrition.php [L]
RewriteRule ^order/([A-Z]*)?$ confirmation.php?lang=&id=$1 [L,QSA]
感谢任何帮助。
问候
【问题讨论】:
-
好的,所以你的意思是 url example.com/privacy.php 在浏览器中显示为重定向?因为我看不到任何可以做到这一点的规则,请确认一次。
-
嘿,是的。该文件名为privacy.php。但在内部,我没有链接到privacy.php,而是/privacy。假设您导航到 www.example.com/privacy:浏览器中的 url 更改为 example.com/privacy.php 而不是 example.com/privacy。希望这能让情况清楚
标签: .htaccess url mod-rewrite