0

SLIR画像サイズ変更プラグインのhtaccessを使用してきれいなURLを取得しようとしています。

以下のように書き直したい:

書き換え前:
localhost / img / 600x400 / slider / image.jpg


localhost / application / public / slir / index.php?r = slir&w = 600&h = 400&i = img / slideer/image.jpgを書き換えた後

しかし、次のコードは500内部サーバーエラーを返しています...

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

RewriteRule ^(.*)/([0-9]{1,4})x([0-9]{1,4})/(.*)\.(gif|jpg|jpeg|png) application/public/slir/index.php?r=slir&w=$2&h=$3&i=$1/$4.$5 [NC,NE,QSA,L]

</IfModule>

私を助けてください.....


アップデート

ファイルパーミッションの問題だと思ったので、関連するすべてのディレクトリとファイルを確認しました。驚くべきことに、すべて755/644でした。次に、 / application / public / slir/index.php
を直接確認しました。アクセスできませんでした。

同じslirディレクトリにhello.phpという名前の別のファイルを作成しましたが、 hello.phpにアクセスできました。
次に、SLIRディレクトリをpublicという名前の別のフォルダに移動しました。ここでは、index.phphello.phpの両方にアクセスできました。

その後、SLIRディレクトリを元のscriptsフォルダに戻しました。スクリプトフォルダでは、hello.phpアクセスできますが、index.phpにはアクセスできません。
さて、両方のファイルは同じ権限を持ち、同じフォルダにあります。ここで何が起こっているのかわかりません...:/:/

誰か助けてください......

4

4 に答える 4

1

他の誰かがこれを見ている場合 - 私が見つけた問題は、htaccess ファイルの次の 2 行でした。

php_value auto_prepend_file none

&

php_value auto_append_file none

一部のサーバーでは許可されていません。

php.iniそれらを私のファイルに移動することで解決しました:

auto-prepend-file = none

auto-append-file = none
于 2013-03-07T22:54:39.650 に答える
0

これはおそらく、メモ帳などの Windows ベースのエディターで .htaccess ファイルを編集しているためです。メモ帳は、ファイルに見えない文字をいくつか追加しますが、それらは .htaccess を台無しにします。Notepad++ のようなエディターを使用し、モードを Unix に設定することをお勧めします。これにより、サーバーが混乱することはありません。技術的に言えば、Linux と Windows では EOL ( End Of Line ) のタイプが異なるため、メモ帳にいくつかの文字が追加されます。次の行に移動するためのすべての行の終わりですが、独自のタイプの EOL があるため、Unix はそれらを認識しません。

于 2012-09-02T18:17:28.233 に答える
0

通常、スラッシュはクエリ文字列では禁止されていますが、 AllowEncodedSlashesディレクティブを設定することで有効にすることができます。

書き換えルールでスラッシュにパーセント エンコーディング (つまり %2F) を使用することもできます。したがって、書き換え後は次のようになります。 localhost/application/public/slir/index.php?r=slir&w=600&h=400&i=img%2Fslider%2Fimage.jpg

クエリ文字列でスラッシュを受け入れるようにApache phpを構成する方法も参照してください

于 2012-09-02T18:18:56.540 に答える
0

重複、非常に異なる言い回し:

サブドメイン サイトで Smart Image Resizer を使用したことのある人はいますか?

問題はサブドメインです...

于 2012-09-03T01:53:07.760 に答える