1

RewriteRule htaccessに問題があります。例:ユーザーがwww.mysite.com/helloを実行しようとしたときに、phpファイルがmain.phpである必要があります次に 、この例のwww.mysite.com/main.phpを次のコードで表示します。 .htaccesで:

# BEGIN Htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^hello/*$ main.php

ただし、このコードでは、ユーザーがwww.mysite.com/helloおよびwww.mysite.com/main.phpを開くことができる場合

ユーザーがwww.mysite.com/main.phpを試した場合、エラー404が表示されますが、www.mysite.com/helloを試した場合はmain.phpのコンテンツを表示する必要があります

ありがとうございました;)

4

2 に答える 2

0

ここで実際のリクエストと照合する必要があります。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /main\.php
RewriteRule ^ - [L,R=404]

必要に応じて、すぐ下に追加できRewriteEngine Onます。これに対処するもう 1 つの方法は、おそらくmain.phpスクリプトで をチェックし$_SERVER['REQUEST_URI']、コンテンツを提供する代わりに 404 応答を返すことです。/main.php

于 2012-11-02T10:44:45.927 に答える
0

main.php を 404 にすることも、/hello に 301 することもできません。これは、無限ループに入るためです。main.php の URL を確認し、hello と異なる場合は /hello にリダイレクトする必要があります。

于 2012-11-02T10:48:46.913 に答える