1

.htaccessを使用してFacebookのようなユーザープロファイルページを作成しようとしています。http://example.com/ <userid>は、実際には次のコードを使用してhttp://example.com/sites/ <userid>/<sub_page>を呼び出します。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?(.*)$ sites/$1/$2 [NC,L]

Options -Indexes

ErrorDocument 404 /missing.html
ErrorDocument 403 /forbidden.html

フォルダsites/<userid>が存在する場合は完全に機能しますが、存在しない場合は500の内部エラーがスローされます。私はインターネットを調べましたが、これを超えることはできませんでした。誰かがこれを手伝ってくれませんか。既存のすべてのフォルダーを含むテキストファイルを作成し、それを使用して.htaccessにリストを生成できますか?

前もって感謝します!!:)

4

1 に答える 1

1

書き換えルールがループしています。正規表現^([^/]+)/?(.*)$は書き換えられた URIsites/something/somethingに一致し、無期限にループしています (したがって、URI は次のようになりますsites/sites/sites/sites/sites/sites/sites/sites/sites/something/something)。

正規表現を微調整して、最初の式の後にあるものと自由に一致しないようにする([^/]+)/?か、条件を追加します。

RewriteCond %{REQUEST_URI} !^/sites/
于 2012-07-15T22:38:50.130 に答える