重写url在核心php localhost项目中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写url在核心php localhost项目中不起作用相关的知识,希望对你有一定的参考价值。

我必须将我的URL变成友好的URL。

我在我的.htaccess文件中有这个:

RewriteRule http://localhost/test/client/this_is_test_page.php$ http://localhost/test/test-page [NC,R=301,L]

但现在我收到HTTP 500内部服务器错误。

可能导致这种情况的原因,我该如何解决?

答案

根据apache文档,您的模式中不应该有HTTP_HOST:

RewriteRule由三个以空格分隔的参数组成。论点是:

  1. 模式:传入的URL应受规则影响;
  2. 替代:匹配请求应在何处发送;
  3. [flags]:影响重写请求的选项。

Pattern是一个正则表达式。它最初(对于第一个重写规则或直到发生替换)与传入请求的URL路径匹配(主机名之后但在指示查询字符串开头的任何问号之前)

你的规则应该是这样的:

RewriteRule /test/client/this_is_test_page.php$ /test/test-page [NC,R=301,L]

你应该启用mod_rewriteRewriteEngine OnAllowOverride

以上是关于重写url在核心php localhost项目中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

仅在具有Nginx重写的root上从URL中删除index.php

在不更改 url 的情况下访问脚本

tomcat 和 apache 整合后利用Tomcat 进行URL重写

无法在 .htaccess 中正确重写和重定向 url

tomcat 和 apache 整合后利用Tomcat 进行URL重写

Apache .htaccess文件