ISAPI書き換えのWindows2003でyourls.orgのリダイレクトの問題[閉じた
-
28-10-2019 - |
質問
ISAPI書き換えを使用して、Windows 2003 VPSサーバーにyourls.org(URL短縮サービス)をセットアップしました。私はすでにISAPIの書き換えをインストールし、WordPressを使用しているので、それが機能していることがわかります。私はページから提案されたルールを使用しました:
http://code.google.com/p/yourls/wiki/htaccess
私のISAPIで書き直しますが、リダイレクトは機能していません。ページはループしており、それ自体にリダイレクトしようとしています。
私はルールの書き換えに精通していないので、どんな助けも感謝します。私が適用したルールは次のとおりです。
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.php|/[^.]*)$ [NC]
RewriteRule ^(.*)$ /yourls-loader.php [L]
アプリケーションのwikiで見つけたものに基づいて、3番目の条件線を追加しました。
なぜこれが機能していないのかについて誰かが光を当てることができたら、私はそれを感謝します。
t
解決
わかりました、これは私に一日中かかりましたが、私はそれを機能させました。興味のある人にとっては、ISAPIの書き直しにはまったく問題はありませんでした。問題はコードにありました。 yourls-roader.phpというファイルには、URLをチェックし、解体して再構築する行があります。問題は、常に新しいURLをHTTPSに強制することです。サーバーにセキュリティ証明書がない場合、それは機能しません!!!
//$scheme = ( isset($_SERVER["HTTPS"]) ? 'https' : 'http' );
//$request = str_replace( YOURLS_SITE.'/', '', $scheme . 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
$request = str_replace( YOURLS_SITE.'/', '', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
最初の2行がコメントアウトされています、これがここにありました。サーバーがどのように設定されているかを信頼し、知っているので(自分でやったので)、このチェックシステムの必要性は感じません。
Windowsシステムで知っておくべきもう1つのことは、あなたが 意思 このファイルの開始時に提案されたserver_uriの解析も追加する必要があります。
if (isset($_SERVER['HTTP_X_REWRITE_URL'])){
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}
これが誰かに役立つことを願っています...オンラインサポートなしで解決するのに一日中かかりました。