thinkphp5.1url重写隐藏⼊⼝⽂件index.php(伪静态)htaccess伪静态文件
以上完整路径可以正常跳转页⾯,⽽下⾯直接public/跳转页⾯失败。
这样访问不了是因为这样跳转url没有index.php⼊⼝⽂件,在没有url重写时,访问项⽬名/public/index.php/index/index/index可以直接 项⽬名/public访问 或**项⽬名/public/index.php/**或 **项⽬名/public/index.php/模块名/控制器/操作访问,这样必须要有
index.php⼊⼝⽂件。**解决上⾯问题的⽅法就是重写url。
隐藏应⽤的⼊⼝⽂件index.php可以通过URL重写(也可以是其它的⼊⼝⽂件,但URL重写通常只能设置⼀个⼊⼝⽂件),相关服务器的配置参考如下:
把f配置⽂件中的mod_rewrite.so前⾯的#号删除
把f配置⽂件中的AllowOverride None 将None改为 All
把下⾯的内容保存为.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]//或RewriteRule^(.*)$index.php?/$1[QSA,PT,L]//或RewriteRule^(.*)$index.php[L,E=PATH_INFO:$ 1]
</IfModule>
或者
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}!-d
RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
以上只适⽤于apache服务器。
ngnix:
location / {
if(!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;break;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论