.htaccess - 将特定网站的请求重写到导致500错误的子目录

时间:2015-12-26 10:18:45

标签: apache .htaccess mod-rewrite url-rewriting

这是我的整个.htaccess文件:

<IfModule mod_rewrite.c>
       RewriteEngine On

       # Rewrite all requests for site1 to the "site1" subdirectory
       RewriteCond %{HTTP_HOST} ^site1.com [NC]
       RewriteRule ^(.*)$ site1/$1 [NC]
</IfModule>

所以我试图将所有请求转发到名为&#34; site1&#34;的子目录。上面给出了500错误。

我的目录:

-public_html
    .htaccess
    -site1
    -site2

e.g。请求site1.com/home.html应该在site1/home.html

的文件中提供

我无法将文件site1更改为site1.com,因为我稍后会在同一台服务器上托管另一个网站,因此我将添加另一个名为site2的子目录这将用于提供site2.com内容。

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

<IfModule mod_rewrite.c>
       RewriteEngine On

       # Rewrite all requests for site1 to the "site1" subdirectory
       RewriteCond %{HTTP_HOST} ^site1.com [NC]
RewriteCond %{REQUEST_URI} !^/site1
       RewriteRule ^(.*)$ site1/$1 [NC,L]
</IfModule>

您需要排除&#34; site1&#34;来自重写的文件夹,因此它不会重写自己。