MacBook Proとラズベリーパイをウェブサーバーとして使用したところ、の両方で同じ問題が発生しました。私は、ウェブサイトを構築し、それを転送するポートは現在と私は、サーバーのプライベートIPアドレスを入力してそれにアクセスするたびに(サーバーがあったかどうか私のMacBook Proまたはラズベリーパイ)、すべてが正常に動作しますが、私はを通じて自分のサイトにアクセスしたときにポートプライベートIPアドレスを使用してサイトを表示するときに発生しなかった2つの問題があります。プライベートIPとポート経由で私のウェブサイトにアクセスする際に奇妙な違いがありました。転送された公開IP
問題1)私のウェブサイトは "mysite.com"としましょう。 URLのアドレスバーに「mysite.com/about」と入力すると、その「about」ページに移動し、URLに「mysite.com/about」と正しく表示されます。しかし、私は「mysite.com」のホームページにと私はクリック私が代わりにURLをアドレスバーに要求を入力製ナビゲーションバーの「約」タブアップ、それが正しいになった場合「mysite.com/about」と言わなければならない場合は、ホームページとして「mysite.com」をURLとして表示します。私はAngularJSを使用していますが、私は複数ページのアプリケーションとして自分のウェブサイトを構築しました。はい、私はnavbarのタブのために自分のリンクにtarget = "_ self"を使用しました。
私のナビゲーションバーに関連するコードのセクション:
app.config(['$locationProvider', '$httpProvider', function($locationProvider, $httpProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: true
});
}]);
と
<li ng-class="{active: isActive('/')}"><a href="/" target="_self">Home</a></li>
<li ng-class="{active: isActive('/about')}"><a href="/about" target="_self">About</a></li>
<li ng-class="{active: isActive('/news')}"><a href="/news" target="_self">News</a></li>
と
app.controller('NavController', ['$scope', '$location', function($scope, $location){
$scope.isActive = function(destination){
return destination === $location.path();
}
}])
と私は私のhtmlの頭の中で:
<base href="/">
と私が持っている私の.htaccessで:
RewriteEngine on
RewriteRule ^about$ index.php [L]
RewriteRule ^news$ index.php [L]
ErrorDocument 404 /index.php
問題2) window.innerHeightとwindow.innerWidthは私の無線LAN、プライベートIP以内にそれをアクセスするときよりも、今はるかに大きい数字を返します。たとえば私のiPhoneの場合、window.innerWidthはプライベートIP経由でアクセスすると320のサイズを返しますが、パブリックIPを使って同じページにアクセスすると980のサイズが返されます。しかし、window.screen.widthは変更されません。その結果、ポート転送サイトのレイアウトが異なり、壊れています。パブリックIP経由で見たときのように無視されているのは<meta name="viewport" content="width=device-width, initial-scale=1.0">
です。任意のヘルプやリソースを事前に
ありがとう!