Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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
PHP-添加尾部斜杠(.PHP/)会导致页面显示错误_Php_.htaccess - Fatal编程技术网

PHP-添加尾部斜杠(.PHP/)会导致页面显示错误

PHP-添加尾部斜杠(.PHP/)会导致页面显示错误,php,.htaccess,Php,.htaccess,我的网站目前遇到了一个问题。如果有人输入,它会正常工作,并显示index.php。但是,如果有人输入,index.php会丢失其大部分图像,现在充当文件夹,即使它不是。这发生在我的所有.php文件上 但是,在其他网站上,此问题不会发生。我一直在考虑使用htaccess代码: # Remove garbage info after .php RewriteRule ^([^.]+\.php)[/.] http://www.example.com/$1 [R=301,L] 我的问题基本上是…这个问

我的网站目前遇到了一个问题。如果有人输入,它会正常工作,并显示index.php。但是,如果有人输入,index.php会丢失其大部分图像,现在充当文件夹,即使它不是。这发生在我的所有.php文件上

但是,在其他网站上,此问题不会发生。我一直在考虑使用htaccess代码:

# Remove garbage info after .php
RewriteRule ^([^.]+\.php)[/.] http://www.example.com/$1 [R=301,L]
我的问题基本上是…这个问题的最佳解决方案是什么? 此外,如果我使用上面提到的htaccess重写规则,像/test.php?id=5这样的页面是否会被剥离为/test.php(基本上删除.php之后的所有内容)

谢谢,

标记

处理此问题的最佳方法是为您的站点创建一个单一入口点

因此,在.htaccess中,您可以编写:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
现在,您将在index.php中输入always,从那里您可以使用url执行您喜欢的操作:

$url = rtrim( $url, '/' );
$request = explode( '/', $url );

看看我的。

好吧,我的这个问题不仅仅针对index.php…它针对我的所有.php文件:sJvdBerg的解决方案将捕获所有页面/php文件,然后通过index.php传递它们(这将是一个新文件,而不是现有的index.php)。