.htaccess - 指向主要子文件夹并删除它+重写“漂亮的网址”

时间:2014-03-21 18:00:22

标签: .htaccess mod-rewrite

我无法在URL中看到我的子目录而无法正常工作...

# This is in root directory
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
Rewriterule ^(?!abc/)(.*)$ /abc/$1 [L,NC]

# This is in sub-directory

RewriteBase /pages/  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{QUERY_STRING} url=pages/(.+?)\.php
RewriteRule ^index\.php$ /%1? [R,L]

RewriteBase /pages/    
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^.*$ /index.php?url=pages/$0.php [L]

问题是,为了完成这项工作,我必须将我的base网址设置为“mysite.com/abc/content”,而不仅仅是“mysite.com/content”。 我很确定答案是我不能吃蛋糕而且吃得太多 (由于重定向的性质) ,但我想在将此站点移回服务器根目录之前进行检查。

它看起来很漂亮,有条理地将它放在一个文件夹中,就像我服务器上的其他网站一样:(

实施例

-public_html
  --site1
  --site2
  --site3
  --abc

我的主机设置为查看主域的public_html。除了通过.htaccess在public_html中重定向外,无法更改此内容。

如果我重定向到子文件夹(/abc/),那么我必须创建base href mysite.com/abc/。这是不可取的。我希望我的<base>mysite.com/一起使用,并且子文件夹永远不会在网址中显示。

这似乎是不可能的,因为它的设置方式。我刚拿走了主要网站的内容,暂时把它们放到了public_html中 - 但这很难看。

0 个答案:

没有答案