我有以下问题。我在子目录中有一个网站和一个博客。它们都是php。我在根文件夹中有一个.htaccess文件,在博客文件夹中有另一个文件。我认为不相关,但博客脚本是wordpress。
我在根.htaccess中添加了一个条件,以跳过为博客提出的请求,
rewriteCond %{REQUEST_URI} !^/blog.*
这是它的外观。我删除了文件的其余部分:
Options +FollowSymlinks -MultiViews RewriteEngine on
RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
// my added line RewriteCond %{REQUEST_URI} !^/blog.*
RewriteCond %{HTTP_HOST} !^www\. RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^(all)/([^/]+)/?$ story.php?title=$2 [L] RewriteRule ^(all)/?$ ?category=$1 [L]
RewriteRule ^/?$ index.php [L] RewriteRule ^advanced-search/?$ advancedsearch.php [L] ...
我遇到的问题与博客请求有关。例如,有时如果我尝试打开网址就可以正常工作,有时会打开主页(根页面而不是博客)。这看起来很奇怪。我认为这与主持人有关。当主机忙于我找不到的博客页面时,请求将转到root .htaccess。
我有两个问题:
答案 0 :(得分:3)
查看mod_rewrite documentation,特别是RewriteCond中的-d标志。
它应该是这样的:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule HERE