2016-12-21 1 views
2

上のすべての作業は、私が数年前に作られた私のウェブサイトを更新してきました。私は最近ウズント16.04にウインドウズテスト環境(この目的のために問題なく完全にうまく動作しました)から16.04に移動しました。長年ここで経験しています。これは本当に奇妙な問題です。私はそれを修正する方法を失っています。のみいくつかのルールは、ライブ

私はちょうどあなたが何を動作し、どのようなないを示す目的のために私のhtaccessファイルを短縮しました。

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^admin/([^/]*)/? /admin.php?p=$1 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/?(img) 
RewriteRule ^([^\.]+)$ /media.php?i=$1 [NC,L,QSA] 

So.私のウィンドウのテストenvとライブサーバーでは、トップルールは完全に正常に動作しますが、私の新しい開発環境では、下のルールだけが適用されるようです。私は短いローカルホスト/管理/を要求しようとした場合、私は、「管理者」で起動しないのimgディレクトリを要求されず、存在するファイルではありません任意のURLを要求した場合、それは、私の書き換えを404を与えますそれをmedia.phpに送るでしょう。

何が起こるべきではlocalhostの/管理/ショート==>はlocalhost/admin.php?P =短い

とお取置き手がかりです。大文字と小文字の区別が考えられるかもしれませんが、すべてのPHPファイルが小文字であるとは限りません。誰にでもアイデアはありますか?私が提供できる情報は?

だから私はここに途方に暮れてよ。動作しない他のものの中には

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

私の意図:localhost /をアップロード==>はlocalhost/upload.php

それはファイルのアクセス許可の問題をだろうか?

それは/etc/apache2/sites-enabled/000-defaultAllowOverride All を持っていたことが判明、しかし/etc/apache2/apache2.confも 当社のウェブのために同じエントリを持っていた:私が言った1つの答えを見つけ

-rw-rw-r-- 1 www-data www-data 10113 Nov 13 15:23 admin.php 
-rw-rw-r-- 1 www-data www-data 2796 Nov 13 14:07 index.php 
-rw-rw-r-- 1 www-data www-data 3664 Nov 13 11:49 media.php 
-rw-r--r-- 1 root  www-data 261 Dec 20 23:57 .htaccess 

:これは次のようにそれが見えるものですDirectoryAllowOverwrite None。だから 両方の場所を必ず確認してください!

私はそれを変更しましたが、まだ動作していません。

奇妙なことに、それは私がように私のapache2.confで を私の書き換え情報を置けばあなたのルールはより良いかもしれないので、

<Directory /var/www/html> 
RewriteEngine on 
... etc ... 
</Directory> 
+0

念のために:すべてがWebルートで実行されていて、サブディレクトリでは実行されていませんか?あなたの与えられたルールは私にとってうまくいっているようです。あなたのサイトを書き換えている場合は、PHPベースのルータを使用することは良いアイデアかもしれないと言われている。 – Gerrit0

+0

'web root'によって/ var/www/htmlを意味する場合はyesです。メインページは/var/www/html/index.php – Alice

+0

これが自発的に動作する前に私が最後に変更したのは、apache2.confに/ var/www/htmlの許可を明示することです/ www)。私は再開した、それは働いた。だから私はそれを削除しようとしたが、それはまだあなたがその作業を持って喜んで、 – Alice

答えて

0

Options Indexes FollowSymLinks

0

作品:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [END] 
RewriteRule ^admin/([^/]*) admin.php?p=$1 [NS,QSA,DPI,END] 
RewriteRule ^(?!img/)[^\.]+$ media.php?i=$0 [NS,QSA,DPI,END] 
関連する問題