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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 HTC将www访问到非www,但保持url完整_.htaccess_Url_Mod Rewrite - Fatal编程技术网

.htaccess HTC将www访问到非www,但保持url完整

.htaccess HTC将www访问到非www,但保持url完整,.htaccess,url,mod-rewrite,.htaccess,Url,Mod Rewrite,我认为这很简单,但我就是无法理解 我有一个类似的域名 我想把它改写成 这很有效。但我也在重写其他URL,比如 如果我试图重写这些,用户总是被重定向到 如何防止服务器显示实际的文件名而不是其重写的url 我的代码如下所示: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\. [NC,OR] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRu

我认为这很简单,但我就是无法理解

我有一个类似的域名

我想把它改写成

这很有效。但我也在重写其他URL,比如

如果我试图重写这些,用户总是被重定向到

如何防止服务器显示实际的文件名而不是其重写的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]
感谢您的帮助

关于

请这样说:

选项-多视图
重新启动发动机
重写cond%{HTTP_HOST}^www\。[北卡罗来纳州,或]
重写条件%{HTTPS}关闭
重写cond%{HTTP_HOST}^(?:www\)?(.+)$[NC]
重写规则^https://%1%{REQUEST_URI}[R=301,L,NE]
重写规则^(结帐|印记|隐私|条款|过敏|营养)/?$$1.php[L]
重写规则^order/([a-z]+)/?$confirmation.php?lang=&id=$1[L,QSA,NC]
请确保在清除浏览器缓存后进行测试。问题似乎是由于您的模式未使用结束锚定


我已将您的多个类似规则合并为一个规则。

好的,您的意思是url在浏览器中显示为重定向?因为我看不到任何规则可以做到这一点,请确认一下。嘿,是的。该文件名为privacy.php。但在内部,我没有链接到privacy.php,而是链接到/privacy。假设您导航到www.example.com/privacy:浏览器中的url更改为example.com/privacy.php,而不是example.com/privacy。希望这能让情况更清楚嘿,谢谢你的回答。但是,我仍然被重定向到.php。它正在删除www.php文件,但总是在末尾追加.php文件(显示文件名而不是路径)。我清除了我的缓存,但仍然没有运气。不过,它似乎与订单页面配合使用。因此www.example.com/order/SHDJS成功重定向到example.com/order/SHDJSCheck更新答案。您可能需要添加
选项-MultiViews
,并在新浏览器中尝试或完全删除旧缓存。谢谢,这就成功了;)祝您有个美好的一天!好吧,那太早了:问题是它也会删除图像的结尾,从而使它们消失。有没有办法让它们保持原样?
它也会删除图像的结尾
——这在我建议的规则中是不会发生的。你可以看到那里没有这样的规则。你能举个例子说明你的图片URL和你在获取图片时遇到的错误吗?