我对rails和web开发上的ruby相当新.以下是我在此链接中的设置http://tonyrose023.blogspot.com/2007/01/multiple-rails-apps-with-mongrel.html 我在Apache2上使用Mongrel群集运行多个rails应用程序.
http://services.abc.edu/app1 http://services.abc.edu/app2 http://services.abc.edu/app3
这就是我的'虚拟主机'(/etc/apache2/sites-availabe/services.abc.edu)文件的样子
--------------
<Proxy balancer://app1>
BalancerMember http://services.abc.edu:8000
BalancerMember http://services.abc.edu:8001
BalancerMember http://services.abc.edu:8002
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Proxy balancer://app2>
BalancerMember http://services.abc.edu:8004
BalancerMember http://services.abc.edu:8005
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Proxy balancer://app3>
BalancerMember http://services.abc.edu:8006
BalancerMember http://services.abc.edu:8007
Order deny,allow
Deny from all
Allow from all
</Proxy>
<VirtualHost *:80>
ServerName services.abc.edu
DocumentRoot /home/joe/projects/app1/public
<Directory "/home/joe/projects/app1/public">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/home/joe/projects/app2/public">
Options FollowSymLinks
AllowOverride None
Order …Run Code Online (Sandbox Code Playgroud) 我正在部署一个ror应用程序,现在我必须重写url(在apache中)
所以我采取了以下方法:
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{HTTP_HOST} ^foo\.com
RewriteRule ^(.*)$ http://www.foo.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
问题是它将两个尾部斜杠附加到我的URL所以例如资源/问题/问题正在变为:
http://foo.com//question/ask
Run Code Online (Sandbox Code Playgroud)
我试图在我的所有重写规则之前添加以下规则以尝试删除双//:
RewriteCond %{REQUEST_URI} ^//
RewriteRule ([^/]*)/+(.*) http://www.foo.com/$1/$2 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但它没有工作..任何想法扯掉所有额外的"//"添加到网址?
第一次蛋糕用户和我有真正的阿帕奇问题.出于某种原因,.htaccess试图找到
File does not exist: /Library/WebServer/Documents/Users
Run Code Online (Sandbox Code Playgroud)
但是没有像Users这样的目录.我也试过设置以下内容:
/etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80 >
DocumentRoot "/Users/username/Sites/mysite/app/webroot"
ServerName mysite.dev
ServerAlias www.mysite.dev mysite.dev *.mysite.dev
<Directory "/Users/username/Sites/mysite/app/webroot">
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
/ etc/hosts文件
127.0.0.1 mysite.dev
Run Code Online (Sandbox Code Playgroud)
/etc/apache2/users/username.conf
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
这也没有用,但有一个不同的错误Failed打开所需的'cake/libs/cache/file.php'
虽然我宁愿不使用虚拟主机,也只是从localhost运行它
亲爱的乡亲,文件夹里面images我想密码保护一个php文件render.php
我已经在该文件夹的.htaccess我以及我的htpasswd文件但他们不工作
文件夹/图像中的.htaccess
// does not work ??
<Files render.php>
AuthName "Login"
AuthType Basic
AuthUserFile /var/www/vhosts/site.com/httpdocs/images/.htpasswd
require valid-user
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
htpasswd的
admin:818jp2uNLY6ZW
# generated with http://www.4webhelp.net/us/password.php
Run Code Online (Sandbox Code Playgroud)
INSITE该文件夹,只要我设置该文件夹的htaccess的规则,该文件夹中的所有东西似乎得到古怪处理,CSS文件受到损坏等.为什么这不是工作?
PS我也完全没问题(实际上更愿意,如果可能的话)在php文件本身中使用密码设置,这样我肯定没有其他任何东西受到影响而不仅仅是那个php文件,无论其名称或位置(可能)更优雅和时间)虽然我看到每个人都使用htaccess所以必须有优势,对吧?
非常感谢您的建议!
我在Win7机器上使用安装在C:上的Zend Server CE(v.5.1.0).我添加了一个项目到httpd.conf:
Alias /project "D:\Homepages\project"
<Directory "D:\Homepages\project">
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
我的.htaccess在文件项目目录包含以下内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/\w*\.(css|js) [NC]
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)
现在到了问题; 如果我去
一切似乎都很好.我到达index.php文件并获取我的内容.但是,如果我转到任何其他会触发RewriteRule的页面,它似乎是添加目录路径.FireFox输出以下未找到消息:
在此服务器上找不到请求的URL /Homepages/project/index.php.
我试图在这里找到类似的问题/答案,但失败了.任何的想法?PS.我接受答案的时间可能会延迟,因为我会在差事上退出一段时间.
我正在使用bitnami AMI(确切地说是ami-8333ffea)在微型EC2实例上运行wordpress,但我认为此问题适用于任何bitnami云应用程序。我已经指定了一个弹性IP并将一个子域映射到该实例(例如blog.example.com)。到目前为止,一切都很好。
现在,我可以访问该博客,但所有URL都包含“ /wordpress”(blog.example.com/wordpress/.../)。Bitnami有文档(单击“ Cloud Image / Bitnami Hoting”选项卡)来解决此问题,但我尝试了几次,但均未成功。我进行了更改,该站点仍然可以运行,但是“ / wordpress”仍然在嘲笑我。该机器正在运行Apache2,并且所有说明似乎都有意义。我不确定自己在做什么错。请帮忙。
使用Apache和PHP,了解它的最佳方法是什么,并强制使用HTTPS?
我在phpinFO()中搜索$ _SERVER变量,发现没什么可以帮助的.
编辑:感谢您的答案和建议!我无法在服务器级别强制它,因为它仅用于登录页面.
我有一个问题,我的项目在Windows(在Apache服务器上)工作非常好,然后我将我的项目移动到ubuntu 12.04(apache2服务器),但我的项目不工作.
的Apache2
php 5.3.10
mysql 5.5.29-ubuntu0.12.04.2
在萤火虫上:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /frontend/ru/site/login/ was not found on this server.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at test.local Port 80</address>
</body></html>
Run Code Online (Sandbox Code Playgroud)
但我有URL /frontend/ru/site/login/.
main.php:
// uncomment the following to define a path alias
Yii::setPathOfAlias('site',dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..');
// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Biotrack Backend',
'language' => 'ru',
'defaultController'=>'company/list', …Run Code Online (Sandbox Code Playgroud) 我按照本指南在apache2服务器上安装bugzilla:http: //www.bugzilla.org/docs/4.4/en/html/configuration.html
我安装了所有模块并配置了所有文件.一切顺利到本节为止:2.2.4.1.2.带有mod_perl的Apache httpd™
我需要在apache2.conf中添加这些行:
PerlSwitches -w -T
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Run Code Online (Sandbox Code Playgroud)
当试图通过重新启动apache完成所有进程时,我收到此错误:
You must install Linux::Pid for Apache::SizeLimit to work on your platform.......
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了解决方案,但是没有找到任何说明如何安装或以其他方式解决它.
请帮忙
PS
这是例外:
/etc/apache2/apache2.conf第95行的语法错误:您必须安装Linux :: Pid for Apache :: SizeLimit才能在您的平台上运行.在/usr/local/lib/perl/5.14.2/Apache/SizeLimit/Core.pm第128行.\n \nBEGIN失败 - 编译在/usr/local/lib/perl/5.14.2/Apache/SizeLimit/Core中止.pm第171行.\n在/usr/local/lib/perl/5.14.2/Apache2/SizeLimit.pm第48行的require中编译失败.\n \nBEGIN失败 - 编译在/usr/local/lib/perl/5.14中止.2/Apache2/SizeLimit.pm第48行.\n在/var/www/bugzilla-4.4/mod_perl.pl第52行的require中编译失败.\n \nBEGIN失败 - 编译在/var/www/bugzilla-4.4/mod_perl中止.pl第52行.\n在(eval 2)第1行的require中编译失败.\n操作'configtest'失败.Apache错误日志可能包含更多信息....失败!
我想使用MVC模式将我的逻辑从演示文稿和数据中划分出来。
好吧,我一直在寻找我。但事实是,我什至不知道要搜索什么。
我正在尝试在php中设置MVC框架。我正在关注youtube上的教程,并且停留在路由点。
我已经阅读了很多指南,每个指南都以不同的方式讲课,只会造成更多的混乱。
关键是这样的:
我有一个.htaccess文件,其中包含一些指令(但是问题是我不知道所有这些指令的含义。我从未理解过htaccess逻辑)
Options -MultiViews
RewriteEngine On
#I think this sets the base url of the site?
RewriteBase /~caiuscitiriga/mvc/public
#What does this mean??
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#AND THIS?!
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)
然后我有这些php脚本:
<?php
require_once '../app/init.php';
$app = new App();
Run Code Online (Sandbox Code Playgroud)
<?php
require_once 'core/App.php';
require_once 'core/Controller.php';
Run Code Online (Sandbox Code Playgroud)
不要问我为什么使用filter_var和rtrim。因为这正是我要弄清楚的。如我之前所说,此代码不是我的。我敢肯定,把戏完全在.htacess和App.php中,但我不明白其逻辑
class App{
protected $controller = 'home';
protected $method = 'index';
protected $params = [];
public function __construct()
{
print_r($this->parseUrl());
}
public …Run Code Online (Sandbox Code Playgroud)