Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htacces重写规则以保留.php文件扩展名_Php_.htaccess_Redirect - Fatal编程技术网

.htacces重写规则以保留.php文件扩展名

.htacces重写规则以保留.php文件扩展名,php,.htaccess,redirect,Php,.htaccess,Redirect,我正在升级我的静态网站,内容页上有.php扩展名。我已经创建了自己的简单cms,它将从现在开始从mysql数据库中检索数据,保持url结构与以前相同 cms具有从数据库检索url结构的get函数。总的来说,当我测试时,它开始与.html配合良好。但是,当我在.htaccess代码中将.html扩展名更改为.php时,内容页开始反映“内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。” 以下是我使用的.htaccess代码: RewriteBase / Options +Follo

我正在升级我的静态网站,内容页上有.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一起使用


请帮忙。提前感谢……:)

因为匹配模式和目标URI都有php扩展,所以它会导致循环,因此会给您带来500个错误。您可以使用不同的正则表达式和附加条件来避免循环:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)\.php$ content.php?pic=$1 [L,QSA,NC]