2

サーバーがリダイレクトなしでディレクトリ名に基づいて特定のPHPページを返すようにしたい。例えば:

http://www.example.com/home

次と同じ結果を返す必要があります。

http://www.example.com/index.php?page=home

ただし、アドレスをリダイレクトするべきではありません

4

4 に答える 4

2

'.htaccess'という特別なファイルを作成し、それをWebアプリケーションのルートディレクトリに配置する必要があります。ファイルの内容は次のようになります。

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^/home$ /index.php?page=home [L]

次に、Apache(httpd.conf、httpd-vhosts.conf)を構成して、Webアプリケーションがその.htaccess構成ファイルを使用できるようにします。

<VirtualHost 127.0.0.1:80>
    DocumentRoot "/path/to/your/webapp"
    ServerName localhost
    <Directory "/path/to/your/webapp">
        AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

これは良い読み物です。

http://httpd.apache.org/docs/current/misc/rewriteguide.html

于 2011-03-13T03:27:25.923 に答える
1

PHPはリダイレクトなしでこれを行うことはできませんが、解決策はたくさんあります。

apache(.htaccess)でmod_rewriteを使用する

RewriteEngine on
RewriteRule ^home$ /index.php?page=home

もう1つは、index.phpを/ homeに追加することです。この機能は、ドキュメントルートindex.phpを含めることだけです。

于 2011-03-13T03:29:36.857 に答える
0

(私のお気に入りの)CodeIngniterやZendのようなフレームワークを見てください。ただし、それに限定されたり、独自のルーターを構築して車輪の再発明を試みたりすることはできません。

于 2011-03-13T03:29:44.440 に答える
0

Apacheを使用している場合は、htaccessスクリプトを調べることができます。グーグル検索を通じて利用可能なオプションがたくさんあります

于 2011-03-13T03:30:04.197 に答える