2

私は自分のウェブサイトでこの奇妙な動作を観察しています。

私のウェブサーバーには次のディレクトリ構造があります

root
login.php
contact.php
myaccount.php
.
.

期待どおりにURL にアドレスを入力すると http://www.domain.in/contact.php 、contact.php が画面に表示されます。しかし、次のアドレスをURLとして入力しようとすると.. http://www.domain.in/contact.php/myaccount.phpここで、以下から何かが起こると予想しています:

1)  a 404 page to be displayed
2)  a redirect to contact.php 

しかし、代わりに、ページmyaccount.phpがレンダリングされます。もちろん、私が望んでいる方法ではありません。

基本的に、htacess ファイルを使用してこれを防ぐことができるかどうかを考えましたが、このシナリオで機能するルールを見つけることができませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

0

私の最後の答えを無視して、質問を完全に読んでいませんでした。

これを上部に追加してみてくださいmyaccount.php

 <?php
 $host = $_SERVER['HTTP_HOST'];
 $self = $_SERVER['PHP_SELF'];
 $query = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : null;
 $url = !empty($query) ? "http://$host$self?$query" : "http://$host$self";
 $redirect = '<meta http-equiv="refresh" content="4;url=http://www.domain.in/contact.php">';
 if ($url=="http://www.domain.in/contact.php/myaccount.php") echo $redirect;
 // The Rest of the page here
 ?>
于 2012-12-21T07:35:22.653 に答える