0

我在.htaccess. 这是文件的摘录:

AddDefaultCharset utf-8

RewriteEngine On
RewriteRule ^(content\.php\?page=)(.+)$ $1.php [NC]

我需要重写 url 之类"content.php?page=quality-policy""quality-policy.php"

但我看到了这个:

Not Found
The requested URL content.php was not found on this server.
4

1 回答 1

1

你应该使用这个:

RewriteEngine On
RewriteCond %{QUERY_STRING} page=([^&]*) [NC]
RewriteRule ^content\.php$ %1.php [L]

解释:如果 %{QUERY_STRING} 包含 page=something 那么

将 URL content.php 重写为 something.php

%1 是 RewriteCond 中的正则表达式反向引用,不要与匹配的 RewriteRule 正则表达式中的第一个反向引用 $1 混淆。标志 [L] 强制这是要执行的最后一个规则,忽略所有遵循的规则(如果有)。

于 2013-11-02T13:33:53.897 回答