Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
ApacheURL重写-Linux_Apache_Mod Rewrite_Url Rewriting_Apache Config - Fatal编程技术网

ApacheURL重写-Linux

ApacheURL重写-Linux,apache,mod-rewrite,url-rewriting,apache-config,Apache,Mod Rewrite,Url Rewriting,Apache Config,我的网站是用PHP建立的。所以所有文件都是.php扩展名。我需要将扩展名改为.html,我得到了这段代码 重新启动发动机 重写规则^(.*).html$$1.php[L] 我可以使用.html访问这些文件 但我现在面临的问题是 页面中的所有菜单链接都是用hyperlink somefile.php硬编码的。因此,所有请求都以.php扩展名提交到服务器,因此浏览器显示.php扩展名。所以我尝试将.php重定向到.html,但它导致了循环 ie在菜单中单击服务时,服务的超链接是www.mydomai

我的网站是用PHP建立的。所以所有文件都是.php扩展名。我需要将扩展名改为.html,我得到了这段代码

重新启动发动机

重写规则^(.*).html$$1.php[L]

我可以使用.html访问这些文件

但我现在面临的问题是

页面中的所有菜单链接都是用hyperlink somefile.php硬编码的。因此,所有请求都以.php扩展名提交到服务器,因此浏览器显示.php扩展名。所以我尝试将.php重定向到.html,但它导致了循环

ie在菜单中单击服务时,服务的超链接是www.mydomain.com/services.php,因此地址栏中的url是www.mydomain.com/services.php

我需要把它改成.html

怎么做


提前感谢……。

如果您使用的是cms,那么您可以尝试在您的管理顾问或配置文件中找到一个选项,如果您找不到它或您的站点没有它,那么这是个坏消息,您需要手动编辑每个文件。

我不是regex或apache方面的专家,所以我可能错了,但看起来代码对我来说是反向的。尝试:

RewriteRule ^(.*).php$ $1.html