2017-06-12 10 views
-2

この拡張子で仕上げられていないすべてのページに.html拡張子を追加します。 .htmlがあるページが存在する場合は、それをやりたい 私は見たコードの多くを試しましたが、この感覚には何も作用しませんでした。おそらくhtaccessとは違うことがあるかもしれません。 私が得た唯一のことは、ページが/で終わったときに.html拡張子を付けることでした。 ウェブは、あなたがこれを行うことができます任意のプラグインか何かを知っているので、もし、ワードプレスで作るです教えてください:)の.htaccessでHtaccess - 必要に応じて.htmlを追加する - Wordpress

私の最初のコードは次のとおりです。あなたの答えのための

# Do not do anything for already existing files and folders 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 

# add .html file extension (if such file does exist) 
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f 
RewriteRule ^(.+[^/])/?$ $1.html [L,QSA] 

おかげでたくさん!

+0

'-f'の' RewriteCond'テストがファイルであることを確認したいでしょう。それはあなたのヒントです) –

+0

次回は、これまでに試したコードを追加します。 – besciualex

答えて

0

問題は、私は私がこれを行うことができますワードプレスプラグインを発見し、私もそのPHPの小さな関数を使用して拡張を必要とするドント数回があるということでした.html拡張子を追加するかどうかを確認します。

私が使用しているプラ​​グインの名前は次のとおりです。dr.code.skm

によってページ上の

追加の拡張機能は次のようになります。あなたの助けを

function my_page_template_redirect() 
{ 
    global $wp; 
    $current_url = home_url(add_query_arg(array(),$wp->request)); 
    if (!strpos($current_url, '.html') && !strpos($current_url, 'wp-admin') && !strpos($current_url, 'wp-login')) { 
     if(!is_front_page()){ 
      wp_safe_redirect($current_url.'.html'); 
     }  
    } 
} 
add_action('template_redirect', 'my_page_template_redirect'); 

ありがとう!

2

かなり単に:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
# If /foo/bar does not exist as a file (and) 
RewriteCond %{REQUEST_FILENAME} !-f 
# If /foo/bar does not exist as a directory (and) 
RewriteCond %{REQUEST_FILENAME} !-d 
# If /foo/bar.html exists as a file 
RewriteCond %{REQUEST_FILENAME}.html -f 
# If above three conditions match, append .html 
# stopping any other rewrite rules below this (L=last) 
# and adding query string (QSA=Query String Append) such as ?a=b&c=d 
RewriteRule ^(.+)$ /$1.html [L,QSA] 
+0

これは動作していません!あなたの答えをありがとう、しかし、私は404に私を返します。 –

+0

URLはコメントに書かれているすべての条件に一致しますか? –

+0

問題は、拡張子がhtmlのファイルが存在しないことです。私はwordpressで働いており、それぞれのケースに対して正規表現を1つ実行しなければならないと思います。 .httaccessで正規表現を行う方法を知っていますか? –

関連する問題