2016-10-16 10 views
0

私のURLから.php拡張子を削除するhtaccessファイルがあります。htaccess/indexから/index.phpへのルールを書き換え、?lang = enから/ en/NOT WORKING

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

私はこのことから私のURLを変更します別のRewriteRule追加したい:それはこのようになります?

www.example.com/index をLANG =これに

エン:

www.example.com /EN/インデックス

私はCコードこのようなルックスでアップAME:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
RewriteRule ^(de|en)/(.*)$ $2?lang=$1 [L,QSA] 
RewriteRule ^(.*)$ $1?lang=de [L,QSA] 

これは私のローカルXAMPPのサーバー上ではなく、私のホストされたウェブホスティングサーバ上で動作します。

問題が発生する可能性があるのは、コードですか、またはブラウザにキャッシュされた.htaccessファイルですか?

このコードはウェブホスティングと互換性がありますか? 、あなたのルールの上に

Options -MultiViews 

を追加

答えて

0

してみてください。

+0

、まだ動作しません。 – Ahmad

+0

ブラウザのキャッシュをクリアしてから試してください。動作しなくてもapcheを再起動してみてください。 –

+0

私はキャッシュをクリアして、別のブラウザを試してみました。残念ながら、Webホスティングサーバーを再起動することは技術的に不可能です。何が問題の原因になっているか、他に何か考えがありますか?おそらくサーバーが.htaccessファイルを定期的にリフレッシュするのでしょうか? – Ahmad

0

あなたはこれらのルールを使用することができます。

私は追加
RewriteEngine On 

RewriteRule ^(de|en)/(.*)$ $2?lang=$1 [L,QSA] 

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

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([\w-]+)/?$ $1?lang=de [L,QSA] 
関連する問題