url/php路径\信息问题
我有一个我认为是奇怪的问题。我有几个网站在同一个托管平台上开发。除了其中一个网站外,所有网站似乎都很好。该网站建立在1个页面(index.php)左右,根据路径信息从数据库中检索正确的数据以显示-这已经运行多年-现在在一个网站上已经停止运行。停止工作,我的意思是,下面的页面现在出现了404错误——我觉得应该将index.php作为要使用的脚本 我认为这是htconfig或其他文件的问题,我无法访问这些文件,因为它们在主机端被错误配置。也许有人能说明我可以把他们引向何方。我自己的htaccess文件完全为空:url/php路径\信息问题,php,url,pathinfo,Php,Url,Pathinfo,我有一个我认为是奇怪的问题。我有几个网站在同一个托管平台上开发。除了其中一个网站外,所有网站似乎都很好。该网站建立在1个页面(index.php)左右,根据路径信息从数据库中检索正确的数据以显示-这已经运行多年-现在在一个网站上已经停止运行。停止工作,我的意思是,下面的页面现在出现了404错误——我觉得应该将index.php作为要使用的脚本 我认为这是htconfig或其他文件的问题,我无法访问这些文件,因为它们在主机端被错误配置。也许有人能说明我可以把他们引向何方。我自己的htaccess文
wwww.testsite.com/index.php/page1
上面的代码用于转到index.php,然后使用$\u SERVER path\u info检索page1,从数据库中获取与page1关联的内容,并在页面上显示。有人能确认我没有发疯吗?请把上面的内容转到index.php?也许还可以解释为什么url现在被视为不存在,因为它似乎不是指向index.php,而是指向page1。提前谢谢你的建议
有人能确认我没有发疯吗?上面的[www.testsite.com/index.php/page1]应该转到index.php吗
没有。这应该在www.testsite.com
的文档根目录index.php
中查找名为page1
的文件
我想您以前有一个.htaccess文件,看起来像这样:
RewriteEngine on
RewriteRule ^index.php(.*)$ index.php
另一种可能是以前启用的,现在不再启用。使用多视图,您还可以获得所描述的行为。如果宿主允许,只需创建一个包含以下内容的.htaccess文件即可启用它:
Options MultiViews
如果将包含上述任一解决方案的.htaccess文件放在文档根目录中,则可以对此进行验证 在Apache中,如果您在Apache配置中的任何相关位置(包括
.htaccess
,如果服务器配置允许)都有AcceptPathInfo,并且有一个文件/index.php
,那么/index.php/stuff
确实应该转到/index.php
,并且应该设置$\u server['PATH\u INFO']
至“/stuff”
。CGI脚本处理程序和mod_php*在默认情况下甚至可以这样做,因此除非显式关闭,否则它应该可以正常工作
无论哪种方式,如果它当前处于关闭状态,如果为站点设置了AllowOverride FileInfo
,则可以通过将AcceptPathInfo on
添加到.htaccess文件来重新打开它
我对其他web服务器没有承诺,但是PATH\u INFO
是CGI规范的一部分,所以我认为大多数服务器都会有类似的设置。他们升级了PHP或apache吗?谢谢codecaster。我将在中添加重写代码并对其进行测试-但为了省心,您能否在多视图上告诉我更多信息-我查看了您提供的页面链接,但这是在htconfig文件中完成的吗?从该链接:“多视图是一个按目录选项,这意味着可以在httpd.conf中的或节中,或在.htaccess文件中(如果正确设置了AllowOverride)使用选项指令来设置它。”输入选项多视图给了我一个内部服务器错误:(重写规则似乎也无法解决此问题:(请表明你也愿意找到解决方案,不要指望我(或任何人)帮你谷歌。“选项multiviews internal server error”给了我一个网站。长话短说,你的主持人应该启用它。或者你可以尝试mod_rewrite部分。配置nginx以这种方式工作的一种可能方法如下所示: