2011-01-17 21 views
0

私は、この例のためのhtaccessのURLリライト作るためにtryngだからフォルダ名を削除します。htacces URLを書き換え - URL

www.website.com/index.php/admin/something => www.website.com/admin/something 
www.website.com/index.php/website/something => www.website.com/something 
www.website.com/index.php/login/something => www.website.com/login/something 

注: "何か" "something1/something2/something3" または「something1ことができます/ something2" または 『何か』

私はカットすることができます 『のindex.php』と:

RewriteEngine on 

RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

が、私は唯一の削除する方法が見つからないことができ、 『ウェブサイトを/』ではなく、 『管理者/』と"login /"は残りのURLを残します。

答えて

0

このアプローチをとっているのであれば、あなたの 'ウェブサイト'コントローラにマップしてはならない可能性のある入力参照をそれぞれ指定し、それをindex.php/$ 1に再マップし、

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^admin.* 
RewriteCond %{REQUEST_URI} ^login.* 
RewriteRule ^(.*)$ index.php?/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} 
RewriteRule ^(.*)$ /index.php?/website/$1 [L] 
+0

をいただき、ありがとうございます:以下のindex.phpとウェブサイトコントローラへの他のすべての管理者またはログインで始まる何かをマップするようなウェブサイトコントローラ、それはindex.phpにマッピング/ウェブサイト/ $ 1

何かあなたの返信しかし、私はこのコードですべてのページの500エラーを取得しています...私はこれで解決策を把握しようとしています:のRewriteEngine のRewriteCond $ 1] ^(ウェブサイト/) するRewriteCondの%{REQUEST_FILENAME}!-f するRewriteCond%{REQUEST_FILENAME}! のRewriteRule ^を-d(。*)$のウェブサイト/ $ 1 [L] のRewriteCond $ 1] ^(指数./php|resources|robots.txt) RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^(。*)$ index.php/$ 1この場合、私はすべて動作します/ウェブサイトではいいが、管理者やログイン/ – mau