2016-05-19 11 views
1

最近私はdevサイトを移動し、各devサイトにはプロジェクトがサブディレクトリ(例:www.site.com/dev_site)にありました。新しい開発サイト(つまり、www.site2.com/dev_site)に切り替えると、.php拡張子が含まれていないと、サイトのどのリンクも正しく動作しません。サブディレクトリw/htaccessにサイレントファイル拡張子を追加する

要求されたURL/dev_site /アカウントは、このサーバー

上の前のhtaccessファイルに見つかりませんでした:だからwww.site2.com/accountのようなリンクがで404エラーをスローしていましたと言います古いdevサイトはうまくいきました。すべてのURIの終わりに.phpを黙って追加してURLに表示しませんでした。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f 
    RewriteRule ^(.*)$ $1.php [L,QSA] 
</IfModule> 

私は、ファイル内のゴミを置くことができるので、mod_rewriteのがオンになっていると、それは私も試してみました500

スローことを知っている:

<IfModule mod_rewrite.c> 
    Options All -Indexes -MultiViews 
    RewriteEngine on 
    RewriteBase /dev_site/ 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{DOCUMENT_ROOT}/dev_site/$1\.php -f [NC] 
    RewriteRule ^(.+?)/?$ $1.php [L] 
</IfModule> 

そして、やったことのすべてがスローだったが500エラー。 Options All -Indexes -MultiViewsを削除すると、以前に述べた404エラーが見つかりません。

答えて

0

私はここで見つけるの答えからこの問題を解決することができました:https://stackoverflow.com/a/30487642/2122300

を私が見えるように、それを変更した:

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks -MultiViews 

    RewriteEngine On 
    RewriteBase /dev_site/ 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule (.*) /dev_site/$1.php [L] 
</IfModule> 
関連する問題