htaccess RewriteRule 得到错误 500 和 $1 用于重新映射子域
htaccess RewriteRule gets error 500 with $1 for remapping subdomain
我有一个共享主机,它指向主域 - mydomain.com 和一个子域 - beta.mydomain.com - 指向同一个文件夹 public_html.
此主机的结构是:
/
a
b
public_html
-a
-b
-.htaccess
public_html
里面的文件夹a
和b
分别指向根目录下的文件夹
在.htaccess
文件中,有这些规则:
RewriteEngine on
#Subdomain rule#
RewriteCond %{HTTP_HOST} ^beta.mydomain.com$
RewriteRule ^(.*)$ /b/otherfolder/ [NC,L]
#Main domain rule#
RewriteCond %{REQUEST_URI} !^/a
RewriteRule ^(.*)$ /a/otherfolder/ [NC,L]
实际上,当我访问主域时,主域规则 匹配并显示正确的页面。
当我访问子域时,子域规则匹配并且returns错误500;但是,删除 /b/otherfolder/
上的 </code>,它会显示该文件夹中的索引文件(当然,页面无法加载正确的 js 或 css 文件)。</p>
<p>问题:</p>
<ol>
<li><p>如何避免错误 500 并让 <code>Subdomain rule
与另一个一样好?
如何为 server/htaccess 启用错误日志?
我阅读了有关 ErrorLog 指令的信息,但是我的搜索仅涉及 PHP.
由于无限循环,您得到 500
。这是因为子域重写是无条件的,因为它不断重写 /b/otherfolder/
.
您可以有以下规则:
RewriteEngine on
#Subdomain rule#
RewriteCond %{HTTP_HOST} ^beta\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/b/ [NC]
RewriteRule ^(.*)$ b/otherfolder/ [NC,L]
#Main domain rule#
RewriteCond %{REQUEST_URI} !^/(a|b)/ [NC]
RewriteRule ^(.*)$ a/otherfolder/ [NC,L]
注意添加条件 RewriteCond %{REQUEST_URI} !^/b/ [NC]
,当 URI 以 /b/
开头时停止重写。
我有一个共享主机,它指向主域 - mydomain.com 和一个子域 - beta.mydomain.com - 指向同一个文件夹 public_html.
此主机的结构是:
/
a
b
public_html
-a
-b
-.htaccess
public_html
里面的文件夹a
和b
分别指向根目录下的文件夹
在.htaccess
文件中,有这些规则:
RewriteEngine on
#Subdomain rule#
RewriteCond %{HTTP_HOST} ^beta.mydomain.com$
RewriteRule ^(.*)$ /b/otherfolder/ [NC,L]
#Main domain rule#
RewriteCond %{REQUEST_URI} !^/a
RewriteRule ^(.*)$ /a/otherfolder/ [NC,L]
实际上,当我访问主域时,主域规则 匹配并显示正确的页面。
当我访问子域时,子域规则匹配并且returns错误500;但是,删除 /b/otherfolder/
上的 </code>,它会显示该文件夹中的索引文件(当然,页面无法加载正确的 js 或 css 文件)。</p>
<p>问题:</p>
<ol>
<li><p>如何避免错误 500 并让 <code>Subdomain rule
与另一个一样好?
如何为 server/htaccess 启用错误日志? 我阅读了有关 ErrorLog 指令的信息,但是我的搜索仅涉及 PHP.
由于无限循环,您得到 500
。这是因为子域重写是无条件的,因为它不断重写 /b/otherfolder/
.
您可以有以下规则:
RewriteEngine on
#Subdomain rule#
RewriteCond %{HTTP_HOST} ^beta\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/b/ [NC]
RewriteRule ^(.*)$ b/otherfolder/ [NC,L]
#Main domain rule#
RewriteCond %{REQUEST_URI} !^/(a|b)/ [NC]
RewriteRule ^(.*)$ a/otherfolder/ [NC,L]
注意添加条件 RewriteCond %{REQUEST_URI} !^/b/ [NC]
,当 URI 以 /b/
开头时停止重写。