rewrite 沒有起作用的原因

2021-05-23 04:28:52 字數 882 閱讀 9452

眾所周知,zend framework 的工作機制是 要用 mod_rewrite 的,

按照要求配置了伺服器, 並且正確修改了 .htaccess 之後, ie位址列執行

結果報錯 object not found !

於是判斷rewrite 的配置有問題。

之前我是用 zf 命令生成了 zf 專案, 並用 zf create action add 生成了動作函式。

由於我對 rewrite 命令並不熟悉, 所以 public/.htaccess 並沒有被修改過,是 zf 自動做成的,應該是正確的,那為什麼會錯呢。

原始 .htaccess 檔案內容如下

rewriteengine on

rewritecond % -s [or]

rewritecond % -l [or]

rewritecond % -d

rewriterule ^.*$ - [nc,l]

rewriterule ^.*$ index.php [nc,l]

查了一下 apache rewrite 手冊,發現裡面提到了 rewritebase 命令, 我的理解是rewrite 是用來指明基本路徑的,

於是領悟了。

由於我配了 alias zend2 /***x/***x/*** 這樣的別名, 所以應該指明 rewritebase  的路徑,否則預設情況這個路徑指向在

documentroot 下, 於是在.htaccess 中加了

rewritebase /zend2/public

再執行 http://localhost/zend2/public/index/add

問題果然解決了。

Spring AOP不起作用原因

一 直接在切面類定義切點 aop切面類裡面的方法全部不支援觸發切面,否則乙個切面函式把自己當做切點就會導致遞迴層層呼叫。aop切面類發出函式呼叫一律不觸發切面,避免兩個切面類相互呼叫迭代請求的情況。二 被 物件兩個切點方法內部呼叫 被spring的aop增強的類,在同乙個類的內部方法呼叫時,其被呼叫...

Lombok不起作用原因

idea搜尋plugins安裝外掛程式lombok。才能實現自動生成 get set 不然一片紅 引入jar包 org.projectlombokgroupid lombokartifactid 1.16.20version providedscope dependency lombok外掛程式是可...

spring事務不起作用的原因

1.transactional加在非public方法上,這個其實idea就能規避了,有語法檢查 2.非 transactional註解方法呼叫同類中使用 transactional註解的方法,不生效,原因是事務管理用到了動態 原理自己去查 偽 public void test transaction...