1

「art.php?id=$1」を「art/1」に変換する、かさばる見苦しい URL を適切な URL に書き換えようとしていますが、「500 Internal Server Error」が発生します。どうすればよいですか? お願いできますか?

これは私が使用した.htaccessコードです:

    RewriteEngine On
    RewriteRule    ^art/([A-Za-z0-9-]+)/?$    art.php?id=$1  [NC,L]

これは私が遭遇したエラーです:

内部サーバーエラー

サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。サーバー管理者の admin@localhost に連絡して、エラーが発生した時刻と、エラーの原因となった可能性のある操作を知らせてください。このエラーの詳細については、サーバー エラー ログを参照してください。

ありがとう!

4

2 に答える 2

2

すべてがルートディレクトリgalleryにあるフォルダーにあるとします。次に、この .htaccess ファイルもフォルダーwwwに入れますgallery

RewriteEngine on

RewriteBase /gallery/

# prevent endless loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

# serve real content
RewriteRule ^art/([A-Za-z0-9-]+)/?$ art.php?id=$1 [NC,L]

# make pretty URL
RewriteCond %{QUERY_STRING} id=(.+)
RewriteRule ^art.php$ art/%1? [R,NC,L]
于 2013-03-11T22:24:26.663 に答える
2

使用しているサーバーによっては、書き換えのベースを設定したい場合があります

RewriteEngine On
RewriteBase /art/
RewriteRule    ^([A-Za-z0-9-]+)/?$    art.php?id=$1  [NC,L]

それはうまくいくはずです

于 2013-03-11T11:33:52.143 に答える