2012-03-11 99 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
  • 可以理解,如「我不想做任何努力在這裏請給我一個答案,我會離開,因爲我不關心這個網站「