2017-01-11 7 views
1

私は15のstackoverflowの質問のようなものを検索し、Phileの文書を検索/読んでいます。なぜ問題があるのか​​分かりません。私はPhileを使用しています。私は/ blog-folder /私の投稿のすべてが行くつもりです。投稿URLから/ blog-folder /を削除しようとしています - 今はexample.com/blog-folder/postであり、example.com/postだけが必要です。RewriteCond not working - URLからブログを削除する

これは、キャッシングのもののない私の現在の.htaccess

##################################### 
# Redirect stuff 
##################################### 
<IfModule mod_rewrite.c> 
    # Enable URL rewriting 
    RewriteEngine On 

RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC] 

# RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule .* index.php [L] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)/?$ /blog-folder/$1 [NC,L] 
</IfModule> 
##################################### 
# disable dir 
##################################### 
Options -Indexes 

答えて

0

そのちょうど私はあなたが複数のルールに同じ条件を使用しての問題を持っていると思う。この

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME}.php -f [NC] 
RewriteRule ^(.*?)$ $1.php [L] 

RewriteCond %{REQUEST_FILENAME}.html -f [NC] 
RewriteRule ^(.*?)/?$ $1.html [L] 

RewriteCond %{REQUEST_FILENAME}.blog-f [NC] 
RewriteRule ^(.*?)/?$ $1.blog[L] 
+0

これは私に "さらに、要求を処理するためにErrorDocumentを使用しようとしているうちに404 Not Foundエラーが発生しました。" - また、私のブログフォルダは/ item-name /と呼ばれています( " - "を持っていれば) – jonbon

+0

大丈夫@abhishekの答えは私が推測するように動作します。 –

+0

彼もうまくいきませんでした。 – jonbon

1

をたどると予想その後、簡単です。

私はすべてがblog-folderにあるindex.phpファイルによって処理されると仮定しています。

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)/?$ blog-folder/index.php [NC,L] 

は、今ではリクエストを処理しているのindex.phpに書き換えますexample.com/postでアクセス。

+0

これは中断し、500の内部サーバエラーを与えます - フォルダにはindex.phpがありません。ルートにはindex.phpしかありません。 – jonbon

+0

ブログのフォルダは何をしていますか?あなたのルールに従って、すべてのリクエストがindex.phpに書き換えられるので、同じ条件を使用してブログフォルダディレクトリに書き直すことはできません。 –

+0

私は、phileのフォルダにindex.mdファイルがあることに気付きました。 Phileの構造は次のようになりますhttp://philecms.com/docs.html – jonbon

0

は、これを使用してみてください:example.com/post

RewriteEngine On 
RewriteRule ^blog-folder/(.*)$ /$1 [L,R=301] 

は、URLを残すべきです。テストする前にキャッシュをクリアしてください。

+0

私はそれを今日早く試し、それでも私/ブログのフォルダ/投稿を与えてくれました。複数のブラウザでテストされたキャッシュをクリアしました。 – jonbon

関連する問題