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
Apache 如何使用.htaccess规则将.php重写为.html?_Apache_.htaccess_Redirect_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache 如何使用.htaccess规则将.php重写为.html?

Apache 如何使用.htaccess规则将.php重写为.html?,apache,.htaccess,redirect,mod-rewrite,url-rewriting,Apache,.htaccess,Redirect,Mod Rewrite,Url Rewriting,我试过了,但失败了。 原始URL https://www.sitename.com/user/login/index.php https://www.sitename.com/user/dashboard/index.php 浏览器应显示的URL https://www.sitename.com/user/login.html https://www.sitename.com/user/dashboard.html 这是我尝试过的,但它不起作用 RewriteEngine on Rewr

我试过了,但失败了。 原始URL

https://www.sitename.com/user/login/index.php
https://www.sitename.com/user/dashboard/index.php
浏览器应显示的URL

https://www.sitename.com/user/login.html
https://www.sitename.com/user/dashboard.html
这是我尝试过的,但它不起作用

RewriteEngine on  
RewriteBase /

RewriteCond %{THE_REQUEST} (.*)\.php  
RewriteRule ^(.*)\.php http://%{HTTP_HOST}/user/$1.html [R=301,L]  

RewriteCond %{THE_REQUEST} (.*)\.html  
RewriteRule ^(.*)\.html http://%{HTTP_HOST}/user/$1.php [L]

你能试试下面的吗。用您展示的样品进行书写和测试。请确保在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/([^/]*)/([^.]*)\.html/?$ [NC]
RewriteRule ^(.*)$ %1/%2/index.php [L]

成功了,谢谢。你能再帮我一件事吗?如何将.php重定向到.html?例如,“应该重定向到”“@ShijThach,欢迎您。”。那么,它是应该重定向的唯一特定URL还是任何.php?请确认一下。这些不是唯一的URL。至少会有15-20个这样的。因此,如果有一个共同的代码重定向所有,这将是伟大的。例如,every.php将位于“user”文件夹中的一个文件夹中。我将在我的问题中详细补充这一点。只有5个mnts@ShijThach,我想请你打开一个新问题,不要编辑这个问题,因为1个问题1的帖子只鼓励这么做。此外,如果我们不断更改问题,用户可能会感到困惑(未来用户),因此,请不要编辑此问题并打开新问题,干杯。