我正在尝试创建一个Apache重写规则,该规则将删除部分Silex应用程序的URL。我只想在Apache中保留一个虚拟主机,因此使用虚拟主机不是解决方案。在Apache的DocumentRoot的是在/ var/WWW/和Silex的index.php文件是在/ var/WWW/ROR_V2 /网络/Apache重写规则,从Silex路由中删除部分URL
我想是有这个网址:http://my-site.org/ROR_V2/user/login
点在我的Silex应用这条路线:/用户/注册
我都试过了,我失败了,我不明白这一点。
我的Apache的conf文件(我没有使用的.htaccess)看起来是这样的:
DocumentRoot /var/www
<Directory /var/www/ROR_V2>
Options -Indexes
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
RewriteEngine On
RewriteBase /web
LogLevel warn rewrite:trace8
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ROR_V2/(.*) $1
RewriteRule^index.php [QSA,L]
</Directory>
我也得到一个
请求的URL /web/index.php没有被发现这台服务器。
其他回答在这里和那里找不到帮助,所以我决定在这里提问。预先感谢您的帮助。
编辑:所以我最后做的是硬编码Silex的路线内的网址,使得它在形式的配置参数:$app['BASE_URL']='ROR_V2'
,当我为我的督促服务器上 和 $app['BASE_URL']=''
...当我正在测试。 当然,这是丑陋的,不令人满意的,应该属于网络服务器配置...
谢谢您的回答。 “/ user/login”仅仅是一个例子中的一条路线。底线是:我想用“/”作为根(不是/ ROR_V2)编写我的Silex应用程序,但有访问者输入my-site.org/ROR_V2/user/login URL,所有这些在my-site.org虚拟主机 – LocoNeko73 2015-04-08 00:37:44