來源:互聯網
上載者:User
關鍵字
thinkphp
php
php架構
controller
我想隱藏home和index.php
原來是這樣的
http://localhost/index.php/Home/Index/test.html
然後我加了設定檔
'MODULE_ALLOW_LIST' => array('Home'),'DEFAULT_MODULE' => 'Home','URL_MODEL' => '2',
目的是隱藏index.php和home,
但結果出來的是,
我很憂傷,
如果把設定檔改一下
只留
'MODULE_ALLOW_LIST' => array('Home'),'DEFAULT_MODULE' => 'Home',
可以訪問,並且省略了Home
或者只留
'URL_MODEL' => '2',
也可以訪問,同時也省略了Index.php
為什麼不能同時省略Home和index.php呢???
我現在的環境是 apache2.4.18+php7.0.4
rewrite我確定已經開啟了.不知道各位大神怎麼解決小弟的問題.
是不是Thinkphp在apache2.4.18下存在這種問題?其他都正常???
PS:::
1:rewrite 已經開啟.
2:AllowOverride 所有都改成了All
]
3: .htaccess 檔案我也有
4.thinkphp Application/Common/conf/config.php
回複內容:
我想隱藏home和index.php
原來是這樣的
http://localhost/index.php/Home/Index/test.html
然後我加了設定檔
'MODULE_ALLOW_LIST' => array('Home'),'DEFAULT_MODULE' => 'Home','URL_MODEL' => '2',
目的是隱藏index.php和home,
但結果出來的是,
我很憂傷,
如果把設定檔改一下
只留
'MODULE_ALLOW_LIST' => array('Home'),'DEFAULT_MODULE' => 'Home',
可以訪問,並且省略了Home
或者只留
'URL_MODEL' => '2',
也可以訪問,同時也省略了Index.php
為什麼不能同時省略Home和index.php呢???
我現在的環境是 apache2.4.18+php7.0.4
rewrite我確定已經開啟了.不知道各位大神怎麼解決小弟的問題.
是不是Thinkphp在apache2.4.18下存在這種問題?其他都正常???
PS:::
1:rewrite 已經開啟.
2:AllowOverride 所有都改成了All
]
3: .htaccess 檔案我也有
4.thinkphp Application/Common/conf/config.php
去除index.php
1.httpd.conf設定檔中載入了mod_rewrite.so模組 //在APACHE裡面去配置
LoadModule rewrite_module modules/mod_rewrite.so把前面的警號去掉
2.AllowOverride None 講None改為 All //在APACHE裡面去配置 (注意其他地方的AllowOverride也統統設定為ALL)
AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all
3.確保URL_MODEL設定為2,在項目的設定檔裡寫
return Array(
'URL_MODEL' => '2',
);
4 .htaccess檔案必須放到跟目錄下
這個檔案裡面加:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]