2016-09-21 11 views
1

私はすでに次のhtaccessコードを持っているワードプレスのブログを持っています。追加のhtaccessルールは.php拡張子を削除するワードプレスのブログでは機能しません

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php 

</IfModule> 

# END WordPress 

ここで、別のルールを追加して、特定のURLから.php拡張子を削除します。

と言っています。 we have abc.com/def/ghi.php

この特定のURLの.php拡張子を無視するルールを設定します。私は以下を試みたが、うまくいきませんでした。

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php 
RewriteRule ^(def)/(ghi)/?$ /$1.php [L,NC] 
</IfModule> 

# END WordPress 

私に何か不足していますか?

+0

あなたは – cmorrissey

+0

@cmorrisseyが正しいとあなたのルールの上にそれを上に移動する必要があります。 '[L]' - フラグは最後のルールを意味するので、WP-indexがマッチすれば他のルールは処理されません。 –

+0

また、このルールは内部的に '/ def.php'スクリプトを呼び出します... – arkascha

答えて

0

あなたの.php追加ルールの正規表現を修正し、単にWPのフロントコントローラのルールの前にそれを維持する必要があります。

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^index\.php$ - [L] 

RewriteRule ^(def|ghi)/?$ $1.php [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php 

</IfModule>  
# END WordPress 
関連する問題