将index.php放入根目录,设置了相对路径,但是就只有主页控制器默认方法能用,其他的方法都用不了,不存在
补充楼上隐藏public,如果是apache,请在httpd.conf配置中打开重写功能
#LoadModule rewrite_module modules/mod_rewrite.so
#去除上一行的#符号
然后再网站根目录/或者自己配置的应用目录下添加.htaccess文件,文件重写规则
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
具体的修改方案在某度上搜索很多,TP的官方的文档也有说明
如果index.php不是放在public,而是否放在项目根目录,
1、首先将站点的绑定到项目根目录
2、在根目录创建index.php
<?php
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
正常的访问地址是:
http://域名/index.php/module/controller/action
3、如果需要在url访问的时候隐藏index.php
需要做重写规则,以nginx为例
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
访问地址变成:
http://域名/module/controller/action
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答596 阅读✓ 已解决