2

クリーンな PHP URL を作成するために .htaccess を設定しようとしています。私の目標は、フォルダー CL 内でクリーンな URL を実現することです。

.htaccess:

# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .php

<IfModule mod_rewrite.c>
    # This is the initialization
    # For security reasons, Option followsymlinks cannot be overridden.
    #Options +FollowSymLinks
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteBase /

    # /CL/var1/var2/var3
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2&var3=$3 [L,QSA]

    # /CL/var1/var2
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2 [L,QSA]

    # /CL/var1
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1 [L,QSA]
</IfModule>

しかし、何らかの理由で、フォルダー CL に入ると 500 内部サーバー エラーが発生します。過去に同様の .htaccess 構成を使用しましたが、何らかの理由で機能しなくなりました。

何か案は?

4

1 に答える 1

0

「過去に同様の .htaccess 構成を使用したことがありますが、現在は何らかの理由で機能しません。」

OK、ルールセットが機能します。テスト VM の 1 つでテストしたところ、まだ機能しているので、問題はこの.htaccessファイルの mod_rewrite 機能ではありません。それで、それはどこにあるでしょうか?横向きに考えます。通常、500 ステータスは mod_rewrite ループです。.htaccess/CL にファイルがありますか? これにより、perdir の不定ループが作成される可能性があります。

残念ながら、100 ドルの pa 共有サービスの共有ホスティング プロバイダーから error_log コンテンツに関する回答を得ようとする DS の提案は、ノーノーです。士気: PC にテスト VM をセットアップして、ログへのルート アクセスを取得できるこの問題をデバッグします。記事はこちらです。

于 2012-01-11T23:29:39.893 に答える