首页 > 建站教程 > PHP教程 >  thinkphp The requested URL was not found on this server.正文

thinkphp The requested URL was not found on this server.

thinkphp运行时,除了首页,其他页面都报错了:

The requested URL was not found on this server.

但是当访问全路径,如输入http://域名/index.php/模块/控制器/方法,看应该是可以访问的。如果您是apache服务器,检查publish/.htaccess文件,加入下面的代码,刷新应该就好了:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

同时检查Apache配置httpd.conf文件:找到AllowOverride指令,并将其值设置为ALL,示例配置如下:

AllowOverride ALL

这样配置后,Apache将加载并应用.htaccess文件中的规则。

如果您的服务器支持web.config文件,配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

放网站的根目录下。