如何在zend框架中删除url中的index.php
我最近在一台服务器和另一台服务器之间安装了一个zend framework网站如何在zend框架中删除url中的index.php,php,zend-framework,Php,Zend Framework,我最近在一台服务器和另一台服务器之间安装了一个zend framework网站 eg: http://localhost/test/html ---- This is my website url 其中test是我的文件夹——所有zend framework文件都保存在那里。。。。 但是我的index.php文件在html文件夹下。。。。下面我还将显示index.php的代码 我的网站通过此链接成功运行http://localhost/test/html 测试文件夹在哪里 这是我下面的.h
eg: http://localhost/test/html ---- This is my website url
其中test是我的文件夹——所有zend framework文件都保存在那里。。。。
但是我的index.php文件在html文件夹下。。。。下面我还将显示index.php的代码
我的网站通过此链接成功运行http://localhost/test/html
测试文件夹在哪里
这是我下面的.htaccess代码
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
这是test文件夹下的index.php文件
set_include_path('.'
. PATH_SEPARATOR . get_include_path()
. PATH_SEPARATOR . '../library'
// . PATH_SEPARATOR . '../application/classes/'
// . PATH_SEPARATOR . '../application/classes/forms/'
// . PATH_SEPARATOR . '../application/models/'
. PATH_SEPARATOR . '../application/default/classes/'
. PATH_SEPARATOR . '../application/default/classes/forms/'
. PATH_SEPARATOR . '../application/default/models/'
. PATH_SEPARATOR . '../application/bo/classes/'
. PATH_SEPARATOR . '../application/bo/classes/forms/'
. PATH_SEPARATOR . '../application/bo/models/'
. PATH_SEPARATOR . '../application/bo/controllers/'
. PATH_SEPARATOR . '../application/helpers'
);
require_once "../library/Zend/Loader/Autoloader.php";
//session_start();
define("SITE_PATH", "http://localhost/test/");
define("SITE_BO_PATH", "http://localhsot/test/bo/");
define("URL", "/html/");
define("BO_URL", "/html/bo/");
define("BASE_URL", "/html/");
define("LIB_URL", "/library/");
define("IMG_URL", BASE_URL . "public/img/");
define("IMG_BO_URL", BASE_URL . "public/img_bo/");
@Zend_Loader::registerAutoload();
$options = array(
'layout' => 'layout',
'layoutContent' => '../application/views/layouts/',
'contentKey' => 'content');
new DbInitialize();
date_default_timezone_set("Europe/Berlin");
Zend_Layout::startMvc($options);
Zend_Session::setOptions(array('save_path'=>'/vlk_session'));
if(isset($_COOKIE["Zend_Auth_RememberMe"]) && $_COOKIE["Zend_Auth_RememberMe"] !== false){
Zend_Session::rememberMe("5302000");
setcookie("Zend_Auth_RememberMe", false, time(), "/");
}
if(!Zend_Session::isStarted()){
Zend_Session::start();
}
$sessionUUID = new Zend_Session_Namespace("vlk_jsessionId");
$sessionUUID->setExpirationSeconds(6000000);
if(!isset($sessionUUID->UUID)) {
$sessionUUID->UUID = uniqid('vlk_');
}
$options = array(
"adapter" => 'csv',
"content" => 'languages/en.csv',
"locale" => "en"
);
$translate = new Zend_Translate($options);
$_lingua = "it";
if(isset($_COOKIE["lingua"]) && ($_COOKIE["lingua"] == "it" || $_COOKIE["lingua"] == "en")){
$_lingua = $_COOKIE["lingua"];
}
$translate->getAdapter()->setLocale($_lingua);
Zend_Registry::set('Zend_Translate', $translate);
$controller = Zend_Controller_Front::getInstance();
$_router = $controller->getRouter();
$_router->addRoute('backoffice',new Zend_Controller_Router_Route_Static('business',array('module' => 'bo','controller' => 'index','action' => 'index')));
$_router->addRoute('fanpage',new Zend_Controller_Router_Route_Static('business/fanpage',array('module' => 'bo','controller' => 'facebook','action' => 'index')));
$_router->addRoute('profile',new Zend_Controller_Router_Route_Static('business/profile',array('module' => 'bo','controller' => 'useredit','action' => 'profile')));
$_router->addRoute('video',new Zend_Controller_Router_Route_Static('business/video',array('module' => 'bo','controller' => 'gestionevideo','action' => 'lista')));
$fpcFrontendOptions = array(
'lifetime' => 7200,
'debug_header' => false,
'regexps' => array(
'^/index/index/' => array('cache' => true)
)
);
$fpcBackendOptions = array(
'cache_dir' => 'tmp/'
);
$fullPageCache = new Zend_Cache_Frontend_Page($fpcFrontendOptions);
$zcb = new Zend_Cache_Backend($fpcBackendOptions);
$fullPageCache->setBackend($zcb);
//echo "TEST CACHE";
$fullPageCache->start();
//$controller->setControllerDirectory("../application/controllers");
$controller->setControllerDirectory(array(
"default" => "../application/default/controllers",
"bo" => "../application/bo/controllers"
));
$controller->throwExceptions(true); // should be turned on in development time
// run!
$controller->dispatch();
?>
但是当我打电话给我的控制器
如。http://localhost/test/index.php/cp
我只想删除index.php文件。在zend framework的.htaccess文件或index.php文件中
请给我任何建议。欧米茄,你的vhost的docroot吗?或者是测试vhost中的一个文件夹?它就像Zend教程中的一样。您需要在Apache中激活mod_rewrite并添加如下虚拟主机:
<VirtualHost *:80>
ServerName mypage.dev
DocumentRoot /path/to/quickstart/public
SetEnv APPLICATION_ENV "development"
<Directory /path/to/quickstart/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我想这是重复的问题,我也检查了这个链接。但是我的问题没有解决(我已经发布了这个问题),马特,我已经更新了我的问题。。。。这是我的网站url,其中test是我的文件夹——所有zend framework文件都保存在那里。。。。但是我的index.php文件在html文件夹下。。。。下面我还将显示index.php的代码。。。。我的网站通过此链接成功运行http://localhost/test/html