好的,我查了一下,我似乎無法找到答案。非常高級.htaccess
現在我並不是要求你給我一段代碼,而是說「這是修復」,我希望你能解釋你是如何做到的,你想出了什麼等等。我真的很想知道更多關於這方面的知識,唯一可以學習的方法就是舉例。
現在我需要做的是:
目前我的博客(文字新聞轉到數字,因爲他們自己的世界),是在根目錄下。所以我的帖子看起來像:http://localhost/hello-world
。只是一個例子。
但是,我剛剛使用Code Igniter擴展了我的網站,並使用了定製的PHP腳本。我需要將Code Igniter腳本放在根目錄下,並將博客移動到/ main /或/ blog /。我不想擺脫我的博客,但我不希望谷歌必須重新索引每一個博客文章,或讓谷歌導致糟糕的帖子。更重要的是,我不想在這裏坐幾個小時,爲每個博客文章(其中數百篇)創建重定向URL。
現在我需要重定向爲301重定向。
繼承人我碰到過這個問題。
我需要有這個在.htaccess:
RewriteEngine on
RewriteCond $1 !^(index\.php|admin|css|img|js|main|favicon.ico)
RewriteRule ^(.*)$ index.php/$1 [L]
這消除難看的本地主機/ index.php文件/控制器/控制器功能/
但我需要讓我的.htaccess重定向一切都在/但不是我已經擁有的預設網址。
的預設網址arguements我通過代碼點火器有【
/details/
/register/
/city/
/search_process/
/login/
/logout-success/
/login-success/
/logout/
/login/
/manage/
/panel/
因此,在本質..
本地主機/您好世界/就得301重定向到localhost /主/您好世界
和
本地主機/(任何-的最上面)/將不得不NOT重定向到/主/或/博客/
另外,如果您注意到在當前的.htaccess中,我已經允許/ admin// css// img// js /(/ main /是顯然的博客)和favicon.ico(使它看起來很棒)
請上學吧! (你多久聽到一次?:P)
信用證到LAWRENCE CHERONE!
他原本給了我答案,在此之間和現在我認爲我第一次犯了一個錯字,並且意外丟失了代碼,並且在複製/粘貼後第二次沒有工作(導致第一次我真的打出來學習它)。
因此,這裏配合修改後的工作解決方案。我完全贊同Lawrence Cherone(那個對這個問題有公認的答案的人),因爲他幫助我弄清楚了這一點,最終我無法在沒有他的情況下得到這個工作解決方案。再次感謝你!
RewriteEngine on
RewriteCond $1 !(panel|manage)
RewriteRule ^(.*)$ http://localhost/choosefitness/main/$1 [R=301,L]
RewriteEngine on
RewriteCond $1 !^(index\.php|admin|css|img|js|less|favicon.ico)
RewriteRule ^(.*)$ index.php/$1 [L]
這簡單地陳述,只要第一個參數http://localhost/choosefitness/first-argument
沒有/面板或/管理。它應該301重定向到/主要/((必須提供301重定向的完整URL,而不僅僅是主/ $ 1)
然後它聲明任何請求在管理css img js lss或favicon.ico上應該被忽略。否則應該在index.php上進行(這會從代碼點火器中的url中刪除index.php)
我不知道它爲什麼起作用,我只知道它的作用。但是我沒有完全測試它,但我相信能夠訪問/ css而不用重定向,您必須添加| css到第一個RewriteCond。但是服務器無需這樣做就可以訪問css文件。
注意。第一個RewriteCond中沒有條件的任何URL都不起作用,並將被髮送到/ main /。所以http:// localhost/choosefitness/css將不起作用,因爲它不在第一個RewriteCond中。其次,如果URL參數不在第二個條件中,它也不會被忽略,並且會對index.php起作用。因此,在第二個RewriteCond中沒有| css,但是在第一個RewriteCond中使用它將充當http://localhost/choosefitness/index.php/css,並充當Code Igniter參數。 – 2012-04-17 01:22:51