您的位置:首页 > 运维架构 > Apache

apapche 配置mark

2014-09-28 00:00 155 查看
摘要: 自己搜集的,apache种虚拟目录和301转向的注记

给一个二级域名绑定目录:

假设二级域名是demo.example.com,

在apache2虚拟目录下vhost/中新建一demo.conf, 内容如下(假设你的网站在/var/www/下,文件夹名称为demo_example):
<VirtualHost *:80>
DocumentRoot /var/www/demo_example
ServerName demo.example.com
ServerAlias demo.example.com
ErrorLog "/var/log/httpd/demo_example_error.log"
</VirtualHost>


http://example.com自动重定向到http://www.example.com:
Redirect permanent / http://www.example.com/[/code] 示例:
<VirtualHost *:80>
DocumentRoot /var/www/example/
ServerName example.com
ServerAlias example.com
Redirect permanent / http://www.example.com/ ErrorLog "/var/log/httpd/example_www_error.log"
<Directory /var/www/example/>
Options +Includes -Indexes
AllowOverride All
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>

以上参考自:stackoverflow.com/questions/1100343/apache-redirect-from-non-www-to-www

也有对应的在.htaccess中设置的方法,自行搜索

反过来,如果要将www.example.com 301 至 example.com,在.htaccess中这么设置:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


以上,参考自:stackoverflow.com/questions/234723/generic-htaccess-redirect-www-to-non-www

mark3, 在apache上配置symfony2开发的项目,配置文件参考:

<VirtualHost *:80>
DocumentRoot /var/www/example/web
ServerName example.com
ServerAlias example.com
Redirect permanent / http://www.example.com/ DirectoryIndex app.php app_dev.php index.php # 这句设置了貌似没作用,后来在 vhosts/default.conf中设置了才可以。
ErrorLog "/var/log/httpd/example_www_error.log"
<Directory /var/www/example/web>
Options +Includes -Indexes
AllowOverride All
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>

其他内容(包括php不同多实现方式,nginx配置的方法)可参考官方网站:http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html

-------更新一--------

在symfony2项目中,<Directory> Optioins ... </Directory> 选项下面必须包含 FollowSymlinks 属性,

否则会出现网页加了app.php能访问,跳转到其他页面也正常,但是如果不加 app.php 或者 app_dev.php 就会出现404 错误(奇怪之处在于首页正常)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  symfony2 apache