我无法在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中 - 但这很难看。