2013-03-28 85 views
0

我有一个Wordpress实例和一个SimpleSAMLphp实例需要从相同的子域进行访问,并且它似乎像Wordpress干扰了Apache别名。Apache mod_rewrite别名被Wordpress重写规则覆盖

的httpd.conf

# 
# VHOST for the Wordpress instance and provides an alias 
# so simpleSAMLphp can be accessed at saml.domain.com/saml 
# 
<VirtualHost *:80> 
     RewriteEngine On 
     RewriteCond %{SERVER_PORT} !^443$ 
     RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] 
</VirtualHost> 
<VirtualHost *:443> 
     ServerAdmin [email protected] 
     ErrorLog logs/saml.domain.com-error_log 
     CustomLog logs/saml.domain.com-access_log common 

     SSLEngine On 
     SSLCertificateFile /etc/pki/tls/certs/ca.crt 
     SSLCertificateKeyFile /etc/pki/tls/private/ca.key 

     RewriteLog "/var/log/httpd/mod_rewrite.log" 

     ServerName saml.domain.com 
     DocumentRoot "/var/www/html" 
     <Directory "/var/www/html"> 
       Options All 
       AllowOverride All 
       Require all granted 
     </Directory> 

     Alias /saml "/var/simplesamlphp/www" 
     <Directory "/var/simplesamlphp/www"> 
       Options All 
       AllowOverride All 
       Require all granted 
     </Directory> 
</VirtualHost> 

的.htaccess

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

/无功/日志/ httpd的/ ssl_error_log

[Wed Mar 27 18:00:03 2013] [error] [client 10.0.3.133] File does not exist: /var/www/html/favicon.ico 
[Wed Mar 27 18:00:05 2013] [error] [client 10.0.3.133] File does not exist: /var/www/simplesamlphp 
[Wed Mar 27 18:00:05 2013] [error] [client 10.0.3.133] File does not exist: /var/www/html/favicon.ico 
[Wed Mar 27 18:03:46 2013] [error] [client 10.0.3.133] File does not exist: /var/www/html/favicon.ico 
[Wed Mar 27 18:03:47 2013] [error] [client 10.0.3.133] File does not exist: /var/www/html/favicon.ico 
[Wed Mar 27 18:03:56 2013] [error] [client 10.0.3.133] File does not exist: /var/www/simplesamlphp 

/var/log/httpd/mod_rewrite.log

该文件是空白

http://saml.domain.com/saml = simpleSAMLphp管理菜单。

http://saml.domain.com/anything-else = WordPress的网页

的要saml.domain.com/saml结果是一个WordPress 404页。在我强制SSL并修复Wordpress重写之前,我已经有了这个工作,所以如果任何人有任何有用的信息,将是伟大的!

在此先感谢!

回答

0

问题是我有SSL虚拟主机中指定/etc/httpd/conf/httpd.conf中而不是/etc/httpd/conf.d/ssl.conf

这样做的结果是与Apache一起发货的deafult SSL Vhost覆盖了我的httpd.conf。我所要做的就是删除httpd.conf中的SSL Vhost声明,并将其与中的一个合并。ssl.conf