通过.htaccess 和 config.php (App/Common/Conf目录下) 设置
url中的index.php 和 home/index 全部隐形去掉后,
域名/admin.php打开登录成功后进不去 提示 “非法操作:Admin”,请问是哪里出了问题?
.htaccess设置如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/home/index/$1 [QSA,PT,L]
</IfModule>
config.php设置主要如下:
'URL_MODEL'=>2,
'MODULE_ALLOW_LIST' => array (
'Home',
'Admin',
'User'
),
'DEFAULT_MODULE' => 'Home', // 默认模块
'DEFAULT_CONTROLLER' => 'Index', // 默认控制器名称
'DEFAULT_ACTION' => 'index', // 默认操作名称
前台已经实现
域名/about.hrml
域名/news.html
这种最精简的url了
后台访问地址是 : 域名/admin.php
打开后跳转到: 域名/index.php/Admin/login/index.html
输入账户密码登录成功后跳转到 域名/Admin/index/index.html
提示"非法操作:Admin"
我在此页面的url域名后加index.php后登录进去了。地址如下
域名/index.php/Admin/index/index.html
然后点击每个栏目还是抱非常操作,又是url缺少index.php,一旦补全则正常。
请问改如何解决。
以下是几个文件设置的内容,看看对你们解决问题有无帮助
入口文件index.php和admin.php设置如下:
index.php:
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true);
//define('BIND_MODULE','Home');//绑定Home模块到当前入口文件,可用于新增Home模块
// 定义应用目录
define('APP_PATH','./App/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
admin.php:
header('Location: /index.php/Admin/login/index.html');
入口文件添加 define('BIND_MODULE','Admin').后,
默认打开的是后台了,前台没有了,
/index.php/Admin/login/index.html
追答httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置
#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉
AllowOverride None 将None改为 All
在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)
<Directory "D:/server/apache/cgi-bin">
AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all
</Directory>
确保URL_MODEL设置为2,在项目的配置文件里写
return Array(
'URL_MODEL' => '2',
);
.htaccess文件必须放到跟目录下
这个文件里面加:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php
所以需要准备两个域名,分别访问前后台,然后在.htaccess文件中通过匹配域名的方式来决定进入哪个规则,所以配置成了下面这样:<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond...
thinkphp怎么去掉url中的index
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php\/$1 [QSA,PT,L]<\/IfModule>[ IIS ]如果你的服务器环境支持ISAPI...
thinkphp无法访问原来php可以正常访问的URL地址?
模块问题: 如果你使用了 ThinkPHP 的模块功能,确保你在 URL 中正确指定了模块。模块通常会作为 URL 的一部分,例如:\/index.php\/module\/controller\/action。重写规则: 如果你使用了 URL 重写(URL Rewrite),确保你的服务器配置正确。Apache 使用 .htaccess 文件,而 Nginx 使用配置文件。确保文件存...
ThinkPHP的Rewrite怎么设置。 下载的某个开源CMS,URLRewrite规则没有...
掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规 则。如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php\/$...
MAC Nginx + PHP 使用ThinkPHP怎么去掉index.php
.htaccess文件代码 deny from all Redirect permanent \/index.php \/ order deny,allow 或参考ThinkPHP3.0完全开发手册 16.2 隐藏index.php
ThinkPHP 后台Admin模块路由和URL重写问题
你即然已经用了 url_model = 2 配置模式, htaccess 文件就可以不用这样写了。把后面的 \/$ 去掉,只留下 index.php 就可以了。
怎么去掉百度主页后缀index.php
使用URL重定向 举个例子 这是thinkphp的.htaccess URL重定向 <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php\/$1 [QSA,PT,L]<\/IfModule> ...
IIS下 thinkphp 默认访问index.html 同时隐藏index.php
在conf文件加下找到convention.php文件配置一下,开启URL重写机制 然后创建.htaccess <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php\/$1 [QSA,PT,L]<\/IfModule> ...
thinkphp no input file specified.怎么去掉index.php
.htaccess文件中的 RewriteRule ^(.*)$ index.php\/$1 [QSA,PT,L]在默认情况下会导致No input file specified.修改成 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]问题解决。
求西部数码虚拟空间里如何去掉 thinkphp 的 index.php
这样路由重写。开启rewrite功能,然后配置一个.htaccess文件即可