2017-08-23 9 views
0

私は数ヶ月間この書き換えルールを使用しており、問題はありませんでした。最近では、これらのルールを使用してサーバーとローカルホストに問題が発生しています。404 .htaccessのエラー.php、.html拡張子なしで読み込むページを書き換えます。

拡張子.phpまたは.htmlのないページにアクセスすると404エラーが発生します。私はオンラインで提供されたいくつかの回答を試みたが、何もこの問題で私を助けなかった。 404エラーは、htaccessに書かれているようにhttp://example.com/error.htmlにリダイレクトされます。

RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
    RewriteRule ^/?$ "http\:\/\/example\.com\/" [R=301,L] 

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

    ErrorDocument 403 http://example.com/error.html 
    ErrorDocument 404 http://example.com/error.html 

    <IfModule mod_deflate.c> 
    # Compress HTML, CSS, JavaScript, Text, XML and fonts 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE application/rss+xml 
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
    AddOutputFilterByType DEFLATE application/x-font 
    AddOutputFilterByType DEFLATE application/x-font-opentype 
    AddOutputFilterByType DEFLATE application/x-font-otf 
    AddOutputFilterByType DEFLATE application/x-font-truetype 
    AddOutputFilterByType DEFLATE application/x-font-ttf 
    AddOutputFilterByType DEFLATE application/x-javascript 
    AddOutputFilterByType DEFLATE application/xhtml+xml 
    AddOutputFilterByType DEFLATE application/xml 
    AddOutputFilterByType DEFLATE font/opentype 
    AddOutputFilterByType DEFLATE font/otf 
    AddOutputFilterByType DEFLATE font/ttf 
    AddOutputFilterByType DEFLATE image/svg+xml 
    AddOutputFilterByType DEFLATE image/x-icon 
    AddOutputFilterByType DEFLATE text/css 
    AddOutputFilterByType DEFLATE text/html 
    AddOutputFilterByType DEFLATE text/javascript 
    AddOutputFilterByType DEFLATE text/plain 
    AddOutputFilterByType DEFLATE text/xml 

    # Remove browser bugs (only needed for really old browsers) 
    BrowserMatch ^Mozilla/4 gzip-only-text/html 
    BrowserMatch ^Mozilla/4\.0[678] no-gzip 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
    Header append Vary User-Agent 
    </IfModule> 

    ## EXPIRES CACHING ## 
    <IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/jpg "access plus 1 year" 
    ExpiresByType image/jpeg "access plus 1 year" 
    ExpiresByType image/gif "access plus 1 year" 
    ExpiresByType image/png "access plus 1 year" 
    ExpiresByType text/css "access plus 1 month" 
    ExpiresByType application/pdf "access plus 1 month" 
    ExpiresByType text/x-javascript "access plus 1 month" 
    ExpiresByType application/x-shockwave-flash "access plus 1 month" 
    ExpiresByType image/x-icon "access plus 1 year" 
    ExpiresDefault "access plus 2 days" 
    </IfModule> 
    ## EXPIRES CACHING ## 


    Options +FollowSymLinks 
    RewriteEngine on 
    RewriteRule example.php/(.*) example.php?p=$1 

    Options +FollowSymLinks 
    RewriteEngine on 
    RewriteRule example.php/(.*) example.php?id=$1 

答えて

0

次のコードの追加はどうですか?私は

## No extension 
    Options +FollowSymLinks 
    RewriteEngine on 
    RewriteRule example.php/(.*) example.php?p=$1 

    ## Control File and folder conflict 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-l 
+0

しようとすると表示されます。

Options +FollowSymlinks +MultiViews -Indexes IndexIgnore * 

し、また、なぜあなたは最後の冗長なコードを持っているでしょう。ありがとう – Ruch1234

+0

まだエラーが表示されています。 – Ruch1234

+0

'RewriteEngine Onの理由を知っていますか? RewriteCond%{REQUEST_FILENAME}!-f RewriteRule ^([^ \。] +)$ $ 1.php [NC、L、QSA]' ?それらを削除し、 'RewriteCond%{REQUEST_FILENAME}!-D RewriteCond%{REQUEST_FILENAME}と置き換えてみてください!-f RewriteCond%{REQUEST_FILENAME}!-l'?あなたもバックアップを確認します。もう一度やり直すときは、コードを削除して、コード5-7を一時的に削除してください。 – Lian

関連する問題