javascript - htaccess rewrite 的問(wèn)題
問(wèn)題描述
我有個(gè)thinkphp開(kāi)發(fā)的網(wǎng)站,企用了mod rewrite
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>
thinkphp 和程序運(yùn)行正常,現(xiàn)在我的需求是,我在網(wǎng)站根目錄的hot目錄下,放了一個(gè)vue開(kāi)發(fā)的小程序,并開(kāi)啟了histroy路由模式,按照開(kāi)發(fā)文檔說(shuō)明 為了讓所有的路徑都可以被服務(wù)器識(shí)別,也要通過(guò)RewriteRule 把所有的訪問(wèn) Rewrite到 index.hml上
也就是說(shuō)要把http://wwww.xxx.com/hot/item/1000 這樣的url 解析到/hot/index.html上,其它還是用thinkphp來(lái)控制,試過(guò)了好多配置 都不行,本人對(duì).htaccess文件命令不熟悉,所以希望大家給個(gè)方案
回復(fù)一樓的內(nèi)容,我也貼一下這里 vue 運(yùn)行也是正常的,在開(kāi)啟histroy 模式下,你進(jìn)入http://www.xxx.com/hot可以正常運(yùn)行,點(diǎn)擊各個(gè)鏈接也是可以正常跳轉(zhuǎn),因?yàn)閔tml5的histroy模式只是在瀏覽器段改變了url地址欄,并沒(méi)有向server請(qǐng)求數(shù)據(jù),但是當(dāng)用戶直接用 http://www.xxx.com/hot/item/1000 這樣的url來(lái)訪問(wèn)的時(shí)個(gè),由于server上并沒(méi)有這個(gè)文件 所以不會(huì)正常返回,但是通過(guò)apache的htaaccess文件可以把用戶訪問(wèn)不存在的文件跳轉(zhuǎn)到指定的文件上,就如我上面貼的thinkphp下的配置文件就是起這個(gè)作用,我現(xiàn)在的要求是把在/hot目錄下的請(qǐng)求 不要轉(zhuǎn)發(fā)給thinkphp來(lái)執(zhí)行,而是轉(zhuǎn)發(fā)個(gè)/hot/index.html來(lái)處理。
我嘗試如下
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/(hot|hot/.*)$ RewriteRule ^/hot/index.html$ - [L] RewriteRule ^(hot|hot/.*)$ hot/index.html$ [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^hot/(.*)$ hot/index.html$ #RewriteRule '.?' '-' [S=1] #RewriteRule ^/(hot|hot/.*)$ /hot/index.html$ [L] RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>
但是不起作用,不知道為什么?
問(wèn)題解答
回答1:對(duì) thinkphp 不了解,可以看一下 thinkphp 的路由配置可否指定某一個(gè)目錄不同的路由方案
如果不行可能要用 nginx 了
回答2:解決了,原來(lái)的我想法是對(duì)的,一開(kāi)始老是被解析到主目錄的index.php原來(lái)是我的引用資源路徑的問(wèn)題貼出有效 配置
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/(hot|hot/.*)$ RewriteRule ^/hot/index.html$ - [L,NC] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(hot|hot/.*)$ hot/index.html [L] RewriteCond %{REQUEST_URI} !^/(hot|hot/.*)$ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>
測(cè)試地址: http://www.wx2share.com/hot/如果不做url rewrite 直接通過(guò) 以上網(wǎng)址進(jìn)入,一切功能也是正常的,
但是如果通過(guò)如下網(wǎng)址進(jìn)入http://www.wx2share.com/hot/i...就會(huì)返回 404,但是做了 url rewrite 就可以正常訪問(wèn)了
相關(guān)文章:
1. PHPExcel表格導(dǎo)入數(shù)據(jù)庫(kù)怎么導(dǎo)入2. 預(yù)訂金和尾款分別支付3. thinkphp6使用驗(yàn)證器 信息如何輸出到前端頁(yè)面4. macos - 無(wú)法source activate python275. python - 調(diào)用api輸出頁(yè)面,會(huì)有標(biāo)簽出現(xiàn),請(qǐng)問(wèn)如何清掉?6. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?7. python - sqlalchemy更新數(shù)據(jù)報(bào)錯(cuò)8. 我在導(dǎo)入模板資源時(shí)遇到無(wú)法顯示的問(wèn)題,請(qǐng)老師解答下9. empty比isset更嚴(yán)格一點(diǎn)10. javascript - h5微信中怎么禁止橫屏

網(wǎng)公網(wǎng)安備