3

そのため、.html を .php に書き換えていますが、必要なときに .html ファイルをロードしません。書店ディレクトリを無視する方法はありますか? 私はそれがすでにそこにあると思っていましたが、うまくいきません。

/public_html/.htaccess
Options +FollowSymlinks
DirectoryIndex index.php index.html index.htm
RewriteEngine on
RewriteCond %{REQUEST_URI} "/bookstore/"
RewriteRule ^(.+)\.html$ http://virtualbookworm.com/$1.php [L]
ErrorDocument 404 /error.php

../bookstore/.htaccess
Options +FollowSymlinks
DirectoryIndex index.php index.html index.htm
Options +Indexes
ErrorDocument 404 /error.php
4

2 に答える 2

3

!bookstore ディレクトリを無視するには、式の前にa が必要です。

RewriteCond %{REQUEST_URI} !/bookstore/

または、ディレクトリ内の htaccess ファイルで書き換えエンジンをオンにするだけbookstoreで、ドキュメント ルートのルールが置き換えられます。

../bookstore/.htaccess
Options +FollowSymlinks
DirectoryIndex index.php index.html index.htm
Options +Indexes
ErrorDocument 404 /error.php
RewriteEngine On

さらに、ルールのターゲットに を含めるとhttp://virtualbookworm.com、ブラウザーがリダイレクトされ (302 応答を使用)、アドレス バーの URL が変更されます。それが望ましくない場合は、削除してください。

RewriteRule ^(.+)\.html$ /$1.php [L]
于 2012-08-13T19:32:28.957 に答える
1

試す

RewriteCond %{REQUEST_URI} "/bookstore/"
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)\.html$ http://virtualbookworm.com/$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-f「要求された」ファイルが存在しない場合にのみルールが適用されるように、要求を除外する必要があります。

于 2012-08-13T19:24:38.740 に答える