-1

YourlsというPHPアプリを使用しています。これは自己ホスト型の URL 短縮サービスであり、非常に優れています。全体的な機能に満足しています。ただし、その開発の性質上、サポートの方法はあまりありません。ベース URL が af.to であると仮定しましょう。短縮された URL は af.to/goo であり、「goo」によって定義された URL にリダイレクトされる可能性があります。私が直面している問題は、誰かが af.to に行くと、403-Forbidden になってしまうことです。代わりに、クライアントが特定の URL にリダイレクトされるようにしたいと思います。ショートリンクが見つからない場合や入力ミスがある場合に URL にリダイレクトする Yourls 用のプラグインを既にピックアップしましたが、これは af.to のベースをカバーしていません。

.htaccess に 403 リダイレクトを入れようとしましたが、それによって yourls スクリプト全体が壊れ、500 サーバー エラーが発生しました。

現在の .htaccess は次のようになります。

    # BEGIN YOURLS
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ /yourls-loader.php [L]
    </IfModule>
    # END YOURLS

私がしなければならないことについて何か助けはありますか?

ありがとうございました。

4

1 に答える 1

0

RewriteCond ブロックは、既存のファイル/フォルダーをスキップするように RewriteRule に指示します。http://af.to/に移動すると、ルート フォルダーが存在します。リダイレクトはありません。Apache サーバーはindex.html(またはindex.php) ファイルを見つけられず、フォルダーの内容を一覧表示することを許可されず、あきらめて 403 Forbidden を返します。

index.htmlファイルを作成して一部のコンテンツを表示するか、これらの行を追加して別の URL にリダイレクトできます。

# just after RewriteEngine On
RewriteRule ^/$ http://my-compagny.com/ [L,R=301]
于 2015-04-18T19:58:19.503 に答える