我有这样的文件夹结构
/
/project1
我通常将其与一个域(example.com)一起使用,但是现在我想将其用作单独的域(project1.example.com),并且我正在使用apache virtualhost。 我已经成功安装,但是链接上发生了一些问题。 project1中的所有超链接都是包含“ project1”子文件夹的路径(例如project1 / image / pic.jpg)。 我这样设置
DocumentRoot /doc_root/
Alias /project1 /doc_root/project1/
Alias / /doc_root/project1
RewriteRule /project1/(.*) /$1 [R]
问题是当我重写干净的URL时 例如example.com/project1/post?id=1 => project1.example.com/post/1 与
RewriteRule ^/post/(\d+)$ /project1/post.php?id=$1 [PT,NC,L,QSA]
页面的Ajax帖子中出现404错误 由于ajax网址指向/project1/process.php 而且我认为此请求不会重写。
像这样进行设置的正确方法是什么?谢谢!
答案 0 :(得分:0)
这里有几个问题:
/project1/post?id=1
重写为/post/1
),也不会更改域名(即不会)将该域更改为project1.example.com
)。我认为您想要的是这样的东西
DocumentRoot /doc_root/
RewriteCond %{HTTP_HOST} ^project1\.example\.com$
RewriteRule ^/(.*)$ /project1/$1 [NC,PT]
如果您确实要重定向,请考虑:
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^/project1/(.*)$ project1.example.com/$1 [NC,R]