从.htaccess中的URL中删除子域的路径

时间:2014-12-12 13:02:02

标签: .htaccess url joomla path subdomain

我现在已经花了几个小时来解决这个问题,但我似乎无法解决它。

我有两个Joomla网站(lisettejonkman.nl和tekstbureaulis.nl)都在他们自己的public_html文件夹的子文件夹中,并带有.htaccess文件以重定向到这些网站。问题是这些网站的URL显示了包含joomla网站的这两个文件夹(/lisettejonkman.nl和/tekstbureaulis.nl)的路径:

  

http://tekstbureaulis.nl/tekstbureaulis.nl/anypage

我想从此网址中删除路径名以获取:

  

http://tekstbureaulis.nl/anypage

我的.htaccess位于public_html文件夹中,以及包含joomla安装的两个文件夹:

public_html/.htaccess
public_html/lisettejonkman.nl/(a whole bunch of joomla folders and files)
public_html/tekstbureaulis.nl/(a whole bunch of joomla folders and files)

我的.htaccess看起来像这样:

####SUBDOMAINS_HEADER####
RewriteEngine on
#RULE:www,tekstbureaulis.nl,/tekstbureaulis.nl
#RULE:,tekstbureaulis.nl,/tekstbureaulis.nl
#RULE:www,lisettejonkman.nl,/lisettejonkman.nl
#RULE:,lisettejonkman.nl,/lisettejonkman.nl
#RULE:www,lisette-jonkman.nl,/lisettejonkman.nl
#RULE:,lisette-jonkman.nl,/lisettejonkman.nl
RewriteCond %{HTTP_HOST}    ^www.tekstbureaulis.nl$
RewriteCond %{REQUEST_URI}  !^/tekstbureaulis.nl/
RewriteRule (.*)            /tekstbureaulis.nl/$1 [last]
RewriteCond %{HTTP_HOST}    ^tekstbureaulis.nl$
RewriteCond %{REQUEST_URI}  !^/tekstbureaulis.nl/
RewriteRule (.*)            /tekstbureaulis.nl/$1 [last]
RewriteCond %{HTTP_HOST}    ^www.lisettejonkman.nl$
RewriteCond %{REQUEST_URI}  !^/lisettejonkman.nl/
RewriteRule (.*)            /lisettejonkman.nl/$1 [last]
RewriteCond %{HTTP_HOST}    ^lisettejonkman.nl$
RewriteCond %{REQUEST_URI}  !^/lisettejonkman.nl/
RewriteRule (.*)            /lisettejonkman.nl/$1 [last]
RewriteCond %{HTTP_HOST}    ^www.lisette-jonkman.nl$
RewriteCond %{REQUEST_URI}  !^/lisettejonkman.nl/
RewriteRule (.*)            /lisettejonkman.nl/$1 [last]
RewriteCond %{HTTP_HOST}    ^lisette-jonkman.nl$
RewriteCond %{REQUEST_URI}  !^/lisettejonkman.nl/
RewriteRule (.*)  
####SUBDOMAINS_TAILER####

如果我为单个域尝试R = 302方法:

####SUBDOMAINS_HEADER####
RewriteEngine on
#RULE:www,tekstbureaulis.nl,/tekstbureaulis.nl
#RULE:,tekstbureaulis.nl,/tekstbureaulis.nl
#RULE:www,lisettejonkman.nl,/lisettejonkman.nl
#RULE:,lisettejonkman.nl,/lisettejonkman.nl

RewriteCond %{HTTP_HOST}    ^www.tekstbureaulis.nl$
RewriteCond %{REQUEST_URI}  !^/tekstbureaulis.nl/
RewriteRule (.*)            /tekstbureaulis.nl/$1 [last]

RewriteCond %{HTTP_HOST}    ^tekstbureaulis.nl$
RewriteCond %{REQUEST_URI}  !^/tekstbureaulis.nl/
RewriteRule (.*)            /tekstbureaulis.nl/$1 [last]

RewriteCond %{HTTP_HOST} ^(?:www\.)?lisettejonkman\.nl$ [NC]
RewriteCond %{THE_REQUEST} \s/+lisettejonkman\.nl/(\S*)\s [NC]
RewriteRule ^ /%1 [R=302,L,NE]
####SUBDOMAINS_TAILER####

我在错误日志中遇到以下类型的错误:

[Tue Dec 16 22:29:09 2014] [error] [client 82.173.114.125] File does not exist: /home/tekstbureaulis.nl/public_html/administrator
[Tue Dec 16 22:29:11 2014] [error] [client 192.211.49.200] File does not exist: /home/tekstbureaulis.nl/public_html/administrator

似乎它正在尝试重定向到不存在的文件夹(/ home),因为路径的顺序是错误的。但我在htaccess代码中找不到这个文件夹,所以我不太懂......

1 个答案:

答案 0 :(得分:0)

您需要在.htaccess中重定向

类似的东西;

RedirectMatch 301 ^/tekstbureaulis.nl/(.*)$ http://www.tekstbureaulis.nl/$1

这只是我的索引删除重定向的编辑,尚未经过测试。

RedirectMatch 301 ^/index.php/(.*)$ http://domain.com/$1