Apache 服务器别名 - 重写规则 Zend Framework 不起作用



我已经为我的网站添加了一个子域 - 让我们说

man.domain.com

这是原始内容 - 已添加以将 domain.com 重定向到 www.domain.com

<VirtualHost xx.yy.zz.abc:80>
   DocumentRoot "/home/webadmin/domain.com/html"
   ServerName domain.com
   ServerAlias www.domain.com
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^domain.com [NC]
   RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
</VirtualHost>

现在在我的 httpd.conf 中 - 我为子域添加了以下内容

<VirtualHost xx.yy.zz.abc:80>
   DocumentRoot "/home/webadmin/domain.com/html"
   ServerName domain.com
   ServerAlias man.domain.com   
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^domain.com [NC]
   RewriteRule ^(.*)$ http://man.domain.com/$1 [L,R=301]
</VirtualHost>

所以现在当我访问主页时

http://man.domain.com

它工作正常并且页面打开 - 但是当我单击主页中的后续链接时 - 它们不起作用 - 就像

http://man.domain.com/user/abc

这导致

未找到在此服务器上找不到请求的 URL/user/abc。Apache/2.2.21 (CentOS) 服务器位于 man.domain.com 端口 80

这是我的 .htaccess 文件中的内容 - 没有改变这个 - 这是我甚至在添加子域之前所拥有的

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]

所以我不确定这是否是我需要配置或 apache 的任何 Zend 设置

任何帮助将不胜感激谢谢

嗨,

请尝试这个应该为 Zend 框架做这件事:

<VirtualHost xx.yy.zz.abc:80>
ServerName domain.com
ServerAlias man.domain.com  
DocumentRoot "/home/webadmin/domain.com/html"
RewriteEngine off
<Location />
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /index.php [NC,L]
</Location>

最新更新