1

我正在升级在内容页面上有 .php 扩展名的静态网站。我已经创建了自己的简单 cms,它将从现在开始从 mysql 数据库中检索数据,并保持 url 结构与旧的相同。

cms 具有从数据库中检索 url 结构的 get 功能。总的来说,当我测试时,它开始与 .html 一起正常工作。但是,当我在 .htaccess 代码中将 .html 扩展名更改为 .php 时,内容页面开始反映“内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。”

这是我使用过的 .htaccess 代码:

RewriteBase / 
Options +FollowSymLinks 
RewriteEngine On
RewriteRule ^([^?]*).php$ content.php?pid=$1

也许存在冲突,这里是带有 .html 扩展名的代码,实际上可以正常工作。

RewriteBase / 
Options +FollowSymLinks 
RewriteEngine On
RewriteRule ^([^?]*).html$ content.php?pid=$1

所以基本上,带有 .html 的内容页面可以正常工作而 .php 不能正常工作。但我需要我的内容页面与 .php

请帮忙。提前致谢... :)

4

1 回答 1

0

由于匹配模式和目标 URI 都具有 php 扩展名,因此它会导致循环,因此会导致 500 错误。您可以使用不同的正则表达式和额外的条件来避免循环:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)\.php$ content.php?pic=$1 [L,QSA,NC]
于 2013-10-20T11:39:32.757 回答