.htaccess - 通过从链接中删除文件夹来重定向页面上的链接

时间:2011-08-04 03:33:22

标签: .htaccess redirect subdomain modx-revolution

我按照this tutorial管理MODx Revo 2.1.3安装的子域。这个想法是web根文件夹中的htaccess文件将subdomain.mydomain.com的调用重定向到web根目录中与子域名相同的文件夹,即/ home / mydomain / www / subdomain。子域包含运行页面的MODx文件,以及另一个htaccess,用于将所有进一步的请求指回到根文件夹。

它的更好部分有效;我可以查看网站的主页(这意味着MODx正在发挥其作用),但没有链接到css,js,图像等工作,似乎Wayfinder和getResources软件包无法输出。用于图像+ css + js的链接是/subdomain/assets...etc;我需要链接直接指向/ assets文件夹。它就像根.htaccess将请求重定向到子域文件夹一样,但文件夹中的.htaccess没有将任何内容备份到其余请求的根目录。

这是我的根文件夹htaccess,第二部分来自教程:

RewriteEngine On
RewriteBase /

# The Multiple subdomains part
#REDIRECT SUBDOMAIN TO SUBDIRECTORY OF SAME NAME
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ([a-z0-9][-a-z0-9]+)\.mydomain\.com\.?(:80)?$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^(.*) %1/$1 [E=SUBDOMAIN:%1,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]

和子域文件夹htaccess只是:

RewriteEngine On
RewriteBase /

我知道网站有效;我可以使用尚未像教程那样处理的子域来访问它。所以它就在那里,我只需要理清链接请求。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

感谢一些帮助,我设法找到了解决这个问题的方法。

# The Multiple subdomains part
#REDIRECT SUBDOMAIN TO SUBDIRECTORY OF SAME NAME
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ([a-z0-9][-a-z0-9]+)\.spitfireresources\.com\.?(:80)?$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1 -d
#RewriteCond %{REQUEST_FILENAME} !^/js
#RewriteCond %{REQUEST_FILENAME} !^/css
#RewriteCond %{REQUEST_URI} !^/assets
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*) %1/$1 [E=SUBDOMAIN:%1,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]

关键是RewriteCond %{REQUEST_URI} !^/。一旦到位,一切都变得可以访问。感谢所有评论的人。