从我的上一期提出的问题,即Mapping domains to Tomcat Apps。现在我想要一个特殊的请求,即
http://www.app1.com/blog
然后将重定向到我服务器上的特定文件夹。我确实试过下面的代码
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/blog/ /path_to_my_site/app1_com/blog/ [L]
但是这已经变得非常错误,因为它已成为重定向循环,所以我立即将其删除。
注意:我的网站www.app1.com正在托管java应用程序,www.app1.com / blog将是php应用程序博客。
为了清楚起见,下面是我的虚拟主机配置
<virtualhost *:80>
ServerName app1.com
ServerAlias app1.com www.app1.com
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blog(/.*)?$ /path_to_my_site/blog/ [L,NC]
ProxyPass / ajp://127.0.0.1:8009/app1/
ProxyPassReverse / ajp://127.0.0.1:8009/app1/
</virtualhost>
博客文件夹中.htaccess的内容是
# Pretty Permalinks
RewriteRule ^(images)($|/) - [L]
RewriteCond %{REQUEST_URI} !^action=logout [NC]
RewriteCond %{REQUEST_URI} !^action=login [NC]
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /blog/
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?filename=$1 [NC,QSA,L]
答案 0 :(得分:0)
您可以使用:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blog(/.*)?$ /path_to_my_site/app1_com/blog/ [L,NC]
/path_to_my_site/app1_com/blog/
应该是DocumentRoot
下的有效路径。
将您的ProxyPass
行更改为:
ProxyPass /blog !
ProxyPassMatch ^/(?!blog).*$ ajp://127.0.0.1:8009/app1/
ProxyPassReverse / ajp://127.0.0.1:8009/app1/