我必须在htaccess中将端口80重定向到2368,但我希望保持所请求的协议完整,以便SSL不会中断.
我目前有这个:
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
RewriteRule ^ http://sub.domain.com:2368%{REQUEST_URI} [P,QSA,L]
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我希望协议从%{HTTP_HOST}条件中获取,如果可能的话.
有没有办法让这个更加动态,没有硬编码域和协议?
它似乎很慢.
有没有办法在Symfony2中设置基于主机名的路由?
我在官方文档中没有找到关于这个主题的任何内容.
http://symfony.com/doc/2.0/book/routing.html
我想根据给定的主机名路由请求:
foo.example.com
bar.example.com
{{subdomain}}.example.com
所以从本质上讲,控制器会将当前子域作为参数传递.
与Zend解决方案类似:http:
//framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.hostname
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':username.users.example.com',
array(
'controller' => 'profile',
'action' => 'userinfo'
)
);
$plainPathRoute = new Zend_Controller_Router_Route_Static('');
$router->addRoute('user', $hostnameRoute->chain($plainPathRoute));
Run Code Online (Sandbox Code Playgroud)
我希望这是可能的,我只是错过了它.
提前致谢!
这个htaccess正在工作,然后我打开然后关闭.当我刷新我的浏览器.这是500内部服务器错误.我确定我的mod_rewrite已开启.
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ index.php?page=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
我在这里做错了吗?或任何建议或意见?