将站点从本地移动到Ubuntu服务器

时间:2014-01-09 12:18:03

标签: apache .htaccess ubuntu pyrocms

我一直在本地使用PyroCMS构建一个站点 - 工作完美但将其移动到新的Ubuntu服务器我发现问题。

到目前为止,这是我的过程:

  1. 我将文件和数据库移动到我们的Ubuntu服务器并设置,指向数据库。
  2. 我指向主页并且工作正常(除了图像显示),数据库连接正确。
  3. 然后我指向管理员网址“ sub.domain.com/admin ”并显示_“未找到 - 在此服务器上找不到请求的网址/ events_training”_。
  4. 指向子页面时出现同样的错误“ sub.domain.com/events_training
  5. 我确保启用了mod-rewrite,但我仍然遇到同样的错误。
  6. 我尝试“sub.domain.com/index.php/admin”并得到同样的错误。
  7. 然后我在/ etc / apache2 / sites-available / default中将AllowOverride设置为“All”以使.htaccess文件工作并重新加载apache - 这导致主页只显示空白页 sub。 domain.com/admin 现在也是空白。
  8. 我宁愿失去接下来应该检查的东西。

    以下是我的.htaccess文件...

    # Multiple Environment config
    # Set this to development, staging or production
    SetEnv PYRO_ENV staging
    
    <IfModule mod_rewrite.c>
    
    # Make sure directory listing is disabled
    Options +FollowSymLinks -Indexes
    # disable the Apache MultiViews directive if it is enabled on the server. It plays havoc with URL rewriting
    Options -MultiViews
    RewriteEngine on
    
    # Automatically determine and set the PYRO_ENV variable
        #RewriteCond %{HTTP_HOST} ^local.domain.com$
        #RewriteRule (.*) $1 [E=PYRO_ENV:development]
    
        #RewriteCond %{HTTP_HOST} ^stage.domain.com$
        #RewriteRule (.*) $1 [E=PYRO_ENV:staging]
    
        #RewriteCond %{HTTP_HOST} ^domain.com$
        #RewriteRule (.*) $1 [E=PYRO_ENV:production]
    
    # NOTICE: If you get a 404 play with combinations of the following commented out lines
    #AllowOverride All
    #RewriteBase /wherever/pyro/is
    
    # Restrict your site to only one domain
    # !important USE ONLY ONE OPTION
    
    # Option 1: To rewrite "www.domain.com -> domain.com" uncomment the following lines.
    #RewriteCond %{HTTPS} !=on
    #RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    
    # Option 2: To rewrite "domain.com -> www.domain.com" uncomment the following lines.
    #RewriteCond %{HTTPS} !=on
    #RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
    #RewriteCond %{HTTP_HOST} (.+)$ [NC]
    #RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
    
    # Keep people out of codeigniter directory and Git/Mercurial data
    RedirectMatch 403 ^/.*/(system/cms/cache|system/codeigniter|system/cms/config|system/cms/logs|\.git|\.hg).*$
    
    # Send request via index.php (again, not if its a real file or folder)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    <IfModule mod_php5.c>
        RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    
    <IfModule !mod_php5.c>
        RewriteRule ^(.*)$ index.php?/$1 [L]
    </IfModule>
    
    </IfModule>
    

1 个答案:

答案 0 :(得分:0)

问题解决了。

.htaccess文件中的环境设置错误 - 应该是“生产”匹配数据库配置设置。