0

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

我的.htaccess文件中有这个:

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

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

这可能是什么原因造成的,我该如何解决?

4

1 回答 1

0

根据 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_rewrite启用,RewriteEngine On并且AllowOverride.

于 2017-12-23T11:00:12.283 回答