1

.htaccess に書き換えルールがあります。

RewriteRule ^(.+?)$ /user_home.php?domain=$1 [L,QSA]

リダイレクトmysite.com/mypagemysite.com/user_home.php?domain=mypage

これは私の共有ホストでは問題なく動作しますが、ローカルで作業している場合、私のサイトは にあり、そこwww/mysite/にリダイレクトする代わりに、存在しないものwww/mysite/user_home.php?domain=mypageにリダイレクトしようとします。www/user_home.php?domain=mypage

Apache ログに次のエラーが表示されます

[error] [client ::1] script 'C:/wamp/www/user_home.php' not found or unable to stat

.htaccess を変更して、絶対パスではなく相対パスを使用して、現在のディレクトリ内のファイルに直接アクセスできるようにするにはどうすればよいですか?

4

3 に答える 3

1

次のように、ルールのターゲット URL から先頭のスラッシュを削除するだけです。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ user_home.php?domain=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f無限ループを防ぐためにも必要です。

于 2013-07-22T11:15:17.327 に答える
0

このコードを試してください:

RewriteBase /mysite/
RewriteRule ^(.+?)$ /user_home.php?domain=$1 [L,QSA]

Web サイトのルート フォルダーのパスを含む RewriteBaseを追加するだけです。

于 2013-07-22T08:50:46.917 に答える