2012-03-11 36 views
1

有一个开源CMS这与MVC模式,并在.httaccess有什么是没有mod_rewrite的网址?

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L] 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 

所以我们说的网址是HTPP://site.com/admin/settings

有文件夹命名为控制器和它文件admin_settings.php

如何获得完整的URL我尝试这一点,但它dosent工作 HTPP://site.com/index.php:admin_sesstings.php

//和自一个MVC我们访问来自index.php文件

我见过这样的事情的index.php?URL = {文件名}

但在这里everething是不同

+0

你需要看看在你没有共享任何规范的CMS的文档。 – hakre 2012-03-11 17:01:32

+0

那里没有文件。CMS名称是sharetronix – Ben 2012-03-11 17:05:45

+0

我建议您联系供应商支持您的问题。 – hakre 2012-03-11 17:11:40

回答

0
// this reads if requested is NOT FILE and is NOT DIRECTORY... 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

含义如果您确实请求现有文件,它将按“原样”提供。

所以,你应该把你的浏览器指向http://site.com/controllers/admin_settings.php并且你的文件将被提供。

+0

那这么想的工作.. – Ben 2012-03-11 17:17:10

+0

@Marian彼得罗夫是控制器文件夹公开可见的(波纹管的WWW或HTML文件夹),或做你的供应商把控制器文件夹以上的www为了实现更高的安全性?你的日志显示什么?你尝试我的建议有什么错误?帮助我们帮助您(向我们提供有关错误的详细信息)。 – Frankie 2012-03-11 17:56:03

+0

403禁止错误 – Ben 2012-03-11 18:20:13

2

下面是一行实际的翻译线:

如果请求URI不指向一个实际的,真实的,在磁盘上的现有文件

RewriteCond %{REQUEST_FILENAME} !-f 

...如果请求的URI不指向一个实际的,真实的,在磁盘上的现有文件夹

RewriteCond %{REQUEST_FILENAME} !-d 

那么不管它是什么,整个重定向URI ^(.*)$index.php并重新添加查询字符串(诺塔:只需添加QSA指令,也应该这样做,但速度比手动添加%{QUERY_STRING}):

RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L] 

如果你到达在这一点上,这意味着无论是URI指向系统的真正的,实际的文件或系统的一个真正的,实际文件夹,因此:无论是加和授权密码:%{HTTP:Authorization}

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 

现在你可以说你已经全部解释了!


请避免可怕的东西像“因为它是一个MVCü访问”,因为:

  • 它lazyness
  • 可以理解,如“我不想做任何努力在这里请给我一个答案,我会离开,因为我不关心这个网站“