由于 .htaccess 中的 RewriteCond 规则,现有文件出现 404 错误

由于 .htaccess 中的 RewriteCond 规则,现有文件出现 404 错误

为了将特定域名重定向到我的公共目录中的文件夹,www/我编辑.htaccess如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)?domain.com$
RewriteRule ^(/)?$ domain.com/$1 [L]

将浏览器指向http://域名.com出现以下错误:

Not Found

The requested URL /[...]/htdocs/www/domain.com/ was not found on this server.

然而在我的 shell 里我可以看到这个:

$ ls -al /[...]/htdocs/www/domain.com/
total 4
drwxr-xr-x+ 2 user group 3 2012-11-30 12:04 .
drwxr-xr-x+ 8 user group 9 2012-11-30 12:03 ..
-rw-r--r--+ 1 user group 4 2012-11-30 12:04 index.php

编辑.htaccess为直接指向index.php给出了结果。空.htaccess文件正确指向根目录。

我错过了什么?

答案1

通过此链接我找到了正确的规则:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteCond %{HTTP_HOST} ^(www\.)?name\.
RewriteRule ^(.*)$ subdirectory/$1 [L]

请参阅链接本身以获得有关正确使用的完整说明。

相关内容