无法使用Apache RewriteRule将请求从一个虚拟主机重定向到另一虚拟主机

雅可比式

我有两个虚拟主机,由Apache Web服务器提供服务。一台主机用于PHP应用程序,另一台主机用于Django / Python应用程序。他们俩都工作良好,我对此没有任何问题。此时,我的httpd-vhosts.conf看起来像这样:

Listen 8080
<VirtualHost *:8080>
    DocumentRoot "c:/Apache24_32/htdocs/accent"
    ServerName php.localhost
    <Directory c:/Apache24_32/htdocs/accent>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order Deny,Allow
        Allow from all
    </Directory>
    DirectoryIndex 
    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>
</VirtualHost>
<VirtualHost *:8080>
    ServerName django.localhost
    WSGIScriptAlias / "c:/Apache24_32/htdocs/django/accent/wsgi.py"
    <Directory "c:/Apache24_32/htdocs/django/accent">
        Options +ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

没事的 当我转到时php.localhost,我看到了我的PHP应用程序,当我转到时django.localhost,我看到了我的Django应用程序。好的。但是我想要实现的是将请求从我的第一个PHP应用程序重定向到Django应用程序,这样,只要/django/URL中包含部分,我都将被重定向到django.localhost例如,这个网址

php.localhost:8080/django/

应该映射到

django.localhost:8080

和这个网址

php.localhost:8080/django/test

应该映射到

django.localhost:8080/test

我试图使用重写规则,但无济于事。这是我尝试的:

Listen 8080
<VirtualHost *:8080>
    DocumentRoot "c:/Apache24_32/htdocs/accent"
    ServerName php.localhost
   <Directory c:/Apache24_32/htdocs/accent>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order Deny,Allow
        Allow from all
    </Directory>
    DirectoryIndex 
    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>
    #New lines
    RewriteEngine on
    RewriteRule    "^django/(.*)$"  "django.localhost:8080/$1"
</VirtualHost>
<VirtualHost *:8080>
    ServerName django.localhost
    WSGIScriptAlias / "c:/Apache24_32/htdocs/django/accent/wsgi.py"
    <Directory "c:/Apache24_32/htdocs/django/accent">
        Options +ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

如您所见,我已经将这两行添加到第一个虚拟主机描述中:

RewriteEngine on
RewriteRule    "^django/(.*)$"  "django.localhost:8080/$1"

但是,它不起作用。我这样检查。在我的index.php页面中,添加了参考:

<a href="/django">Go to Django!</a>

但是,当我单击它时,我被重定向到http://php.localhost:8080 / django并看到以下错误消息:

未找到

在此服务器上找不到请求的URL / django。

我不太擅长配置Apache,希望有人能帮助我。非常感谢!

聚苯乙烯

我应该补充一点,这行在httpd.conf中没有注释:

 LoadModule rewrite_module modules/mod_rewrite.so
杜尚·巴伊奇(Dusan Bajic)

在VirtualHost上下文中,RewriteRule Pattern最初将与主机名和端口之后,查询字符串之前的URL部分匹配,因此它在开始处带有斜杠。这应该做:

RewriteRule    ^/django/(.*)$  http://django.localhost:8080/$1"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Apache 2.4 - 多个 WSGI 虚拟主机(不同端口)在 Windows 10 上从一个到另一个请求很少后挂起

来自分类Dev

Apache虚拟主机将http重定向到https

来自分类Dev

在Apache中使用一个虚拟主机代理HTTP和https请求

来自分类Dev

Apache非虚拟主机重定向

来自分类Dev

Ubuntu将所有Apache虚拟主机合并到一个文件中

来自分类Dev

http到http将apache中的虚拟主机重定向

来自分类Dev

Apache 2个不同的虚拟主机指向第一个

来自分类Dev

限制通过安装到一个Apache虚拟主机上安装的phpMyAdmin

来自分类Dev

将子域站点移至主域-apache虚拟主机未重定向到源文件

来自分类Dev

重定向到Apache虚拟主机文件中的子文件夹

来自分类Dev

XAMPP Apache将我的虚拟主机重定向到/ dashboard

来自分类Dev

重定向到Apache虚拟主机文件中的子文件夹

来自分类Dev

具有自签名证书的Apache 2.4始终重定向到默认虚拟主机

来自分类Dev

Apache前缀到虚拟主机的路径

来自分类Dev

在将vhost.d目录与每个vhost使用一个文件一起使用时,是否在Apache 2.4中指定默认虚拟主机?

来自分类Dev

将Apache设置为使用虚拟主机在同一域上运行多个django应用

来自分类Dev

Apache虚拟主机无法访问

来自分类Dev

Apache虚拟主机无法正常工作

来自分类Dev

Apache虚拟主机别名

来自分类Dev

Apache虚拟主机问题

来自分类Dev

为什么即使只定义了一个虚拟主机,Apache也会对每个子域做出响应?

来自分类Dev

apache虚拟主机:如何添加2个虚拟主机?

来自分类Dev

多个虚拟主机可以使用同一个 php-fpm 池吗

来自分类Dev

虚拟主机重定向到xampp文件夹,但只能获取无法访问此站点

来自分类Dev

无法使用WAMP浏览虚拟主机

来自分类Dev

无法使用WAMP浏览虚拟主机

来自分类Dev

虚拟主机强制使用https并将www重定向到非www,但没有其他子域

来自分类Dev

将xampp与ngrok一起使用以访问本地虚拟主机时,禁止访问

来自分类Dev

仅针对服务器名的Apache虚拟主机重定向

Related 相关文章

  1. 1

    Apache 2.4 - 多个 WSGI 虚拟主机(不同端口)在 Windows 10 上从一个到另一个请求很少后挂起

  2. 2

    Apache虚拟主机将http重定向到https

  3. 3

    在Apache中使用一个虚拟主机代理HTTP和https请求

  4. 4

    Apache非虚拟主机重定向

  5. 5

    Ubuntu将所有Apache虚拟主机合并到一个文件中

  6. 6

    http到http将apache中的虚拟主机重定向

  7. 7

    Apache 2个不同的虚拟主机指向第一个

  8. 8

    限制通过安装到一个Apache虚拟主机上安装的phpMyAdmin

  9. 9

    将子域站点移至主域-apache虚拟主机未重定向到源文件

  10. 10

    重定向到Apache虚拟主机文件中的子文件夹

  11. 11

    XAMPP Apache将我的虚拟主机重定向到/ dashboard

  12. 12

    重定向到Apache虚拟主机文件中的子文件夹

  13. 13

    具有自签名证书的Apache 2.4始终重定向到默认虚拟主机

  14. 14

    Apache前缀到虚拟主机的路径

  15. 15

    在将vhost.d目录与每个vhost使用一个文件一起使用时,是否在Apache 2.4中指定默认虚拟主机?

  16. 16

    将Apache设置为使用虚拟主机在同一域上运行多个django应用

  17. 17

    Apache虚拟主机无法访问

  18. 18

    Apache虚拟主机无法正常工作

  19. 19

    Apache虚拟主机别名

  20. 20

    Apache虚拟主机问题

  21. 21

    为什么即使只定义了一个虚拟主机,Apache也会对每个子域做出响应?

  22. 22

    apache虚拟主机:如何添加2个虚拟主机?

  23. 23

    多个虚拟主机可以使用同一个 php-fpm 池吗

  24. 24

    虚拟主机重定向到xampp文件夹,但只能获取无法访问此站点

  25. 25

    无法使用WAMP浏览虚拟主机

  26. 26

    无法使用WAMP浏览虚拟主机

  27. 27

    虚拟主机强制使用https并将www重定向到非www,但没有其他子域

  28. 28

    将xampp与ngrok一起使用以访问本地虚拟主机时,禁止访问

  29. 29

    仅针对服务器名的Apache虚拟主机重定向

热门标签

归档