Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
htaccess和php应用程序导航_Php_.htaccess_Model View Controller - Fatal编程技术网

htaccess和php应用程序导航

htaccess和php应用程序导航,php,.htaccess,model-view-controller,Php,.htaccess,Model View Controller,我对我的简单网络应用程序上的一个小问题感到疯狂。我用PHP做了一个简单的日历应用程序,遵循MVC模式 Dirs结构如下所示: 日历(根目录) --应用程序/ --控制器/ --核心/ --模型/ --观点/ init.php --公开的/ --css/ --剧本/ --其他指令。。。 --.htaccess --index.php 每个请求都是这样提出的: /calendar/public/[controller\u name]/[controller\u method]/[extra\u p

我对我的简单网络应用程序上的一个小问题感到疯狂。我用PHP做了一个简单的日历应用程序,遵循MVC模式

Dirs结构如下所示:

日历(根目录)
--应用程序/
--控制器/
--核心/
--模型/
--观点/
init.php
--公开的/
--css/
--剧本/
--其他指令。。。
--.htaccess
--index.php
每个请求都是这样提出的:

/calendar/public/[controller\u name]/[controller\u method]/[extra\u params]
例如:
calendar/public/home/all_events
:调用
all_events
方法的
home
类,然后以右视图显示

在每一个
view.php
中,我都使用经典的锚点链接/button/etc,使用
href
值,比如:


例如,
href=“booking/room”
,以便呼叫控制器进行预订并指定什么(房间)

一切似乎都很好,但只是局部的

当我试图把它放在服务器上时,所有的链接都不起作用,导致404页面找不到

我想把它放到一个现有的Joomla网站上。每个请求都会进入一个名为
sitename.com/
的特定目录,其中包含所有Joomla文件以及应用程序的“我的目录”

在那里,我只能访问应用程序主页(默认),但每个链接都不起作用

我什么都试过了,但似乎什么都不管用

我认为问题在于Apache配置(或
.htaccess
)。它死了,出现404页面未找到错误,并且从未调用我的
index.php

这是我的htaccess:

选项-多视图
重新启动发动机
RewriteBase/sitename.com/calendar/public/
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(+)$index.php?url=$1[QSA,L]

或者,我无法以这种方式链接页面,但如何从html调用特定的控制器/方法?

您的服务器上是否启用了mod_rewrite?转到SSH并键入这两个命令以启用它
sudoa2enmod rewrite;服务apache2重启顺便说一下,实现模式的最佳方法是配置一个指向公用文件夹的虚拟主机。我没有重新启动Apache的权限,但是应该启用mod_rewrite,但不确定如何使用它。我正在尝试不同的配置,但没有任何效果。什么是虚拟主机?我如何使用它?这是由主机提供的服务吗?我有一个经济计划(这是一个非常小的网站,应用程序将由一小部分注册用户使用)。你需要成为根。认真的人在专用服务器和VPS服务器上工作;)对于root,键入
sudo-i
您的服务器上是否启用了mod_rewrite?转到SSH并键入这两个命令以启用它
sudoa2enmod rewrite;服务apache2重启顺便说一下,实现模式的最佳方法是配置一个指向公用文件夹的虚拟主机。我没有重新启动Apache的权限,但是应该启用mod_rewrite,但不确定如何使用它。我正在尝试不同的配置,但没有任何效果。什么是虚拟主机?我如何使用它?这是由主机提供的服务吗?我有一个经济计划(这是一个非常小的网站,应用程序将由一小部分注册用户使用)。你需要成为根。认真的人在专用服务器和VPS服务器上工作;)对于root,键入
sudo-i