我在这些事情上是一个菜鸟,但我正在尝试使用.htaccess创建一个简单的虚拟子域。我启用了通配符,经过大量的挖掘,这就是我想出来的:
rewriteEngine On
rewriteCond %{HTTP_HOST} !^$
rewriteCond %{HTTP_HOST} !^(www\.)?khpedia\.com$ [NC]
rewriteCond %{HTTP_HOST}<->%{REQUEST_URI} ^(www\.)?([^.]+).*<->/([^/]+) [NC]
rewriteCond %2<->%3 !^(.*)<->\1$ [NC]
rewriteRule ^(.+) /%2/$1 [L]
我的目录设置为
-root
--wiki
---- index.php文件
--test
现在当我去wiki.khpedia.com时,我找不到一个页面。当我前往wiki.khpedia.com/index.php时,它会前往wiki.khpedia.com/wiki/index.php。我在某种程度上也能访问wiki.khpedia.com/test。如果它似乎还不明显,我希望能够访问wiki.khpedia.com/index.php并查看wiki.khpedia.com/wiki/index.php,但不能在我的地址栏中找到。对不起文本块感谢您的帮助。
答案 0 :(得分:0)
RewriteCond ^(.*)$ /wiki/$1 [L]
我对子域名在哪里提出问题感到困惑。您能举例说明您想在浏览器中访问的URL以及它们应该在服务器上指出的内容吗?
编辑|啊,我现在看到,Wrikken的答案正确地处理子域:)
答案 1 :(得分:0)
这适用于Apache方面:
RewriteCond %{HTTP_HOST} !^www\.khpedia\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.+).khpedia\.com$ [NC]
RewriteRule ^(.*) /%1/$1 [L,QSA]
但是你的wiki软件可能会对重定向/网址有所了解。