1

我的子域是动态的,如果它们是顶级的,则需要由一个规则处理,如果它们不是,则它们包含第二个处理程序。

这是我所拥有的:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^(www\.)?(www|ftp|mail|webmail)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.domain\.com$ [NC]
#This is successful
RewriteRule (.*) displaylist.php?shorturl=%2 [NC,QSA]
#NOT WORKING
RewriteRule /id/([0-9+])$ viewpage.php?id=$1 [NC,QSA]

所以 subdomain.domain.com 可以正常工作,但 subdomain.domain.com/id/1230/ 不能。

捕获下一行的规则不起作用,只显示 displaylist.php,所有相关链接都已损坏。

编辑:

新规则,重写工作,但没有一个相关文件是完整的

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^(www\.)?(www|ftp|mail|webmail)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.domain\.com$ [NC]
#This is successful
RewriteRule (.*) displaylist.php?shorturl=%2 [NC,QSA]
#Working, but relative files (like css) aren't loading correctly
RewriteCond %{THE_REQUEST} id/([0-9]+)/?
RewriteRule ^(.*) viewpage.php?id=%1 [NC,L]
4

1 回答 1

1

重写工作,但没有一个相关文件是完整的

viewpage.php将此添加到由(<head> </head>标签之间)生成的内容的标题中:

<base href="/" />
于 2012-09-18T20:51:08.270 回答