我想在服务器的子目录中安装一个drupal网站,以便为我的主网站使用它的一些功能,我不希望安装以任何方式影响当前网站。
这样做的实际原因是,例如我可以使用drupal的新闻部分作为主网站。
所以,例如,我在像www.mydomain.com/drupal
这样的“drupal”子目录上安装drupal,然后当我配置并运行新闻部分时,它就像www.mydomain.com/drupal/news
,我想要的是当用户去的时候www.mydomain.com/news
,它会加载www.mydomain.com/drupal/news
。
我真的很感激任何正确的方法和建议来实现这一目标。
答案 0 :(得分:1)
OR
使用hook_menu实施
创建自定义模块function MY_MODULE_menu()
{
$items = array();
$items['news'] = array(
'title' => 'news redirect',
'type' => MENU_CALLBACK,
'access callback' => TRUE,
'page callback' => 'drupal_goto',
'page arguments' => array('drupal/news'),
);
return $items;
}
答案 1 :(得分:1)
如果我正确理解您的问题,您希望获得以下网址:
http://example.com/news/headline-test
但是使用Drupal的URL http://example.com/drupal/news/headline-test来提供第一个URL的内容,您应该使用Apache重写。
这是一个例子: 将其添加到您的热门.htaccess文件夹(http://example.com/.htaccess - 不公开访问是):
RewriteEngine on
RewriteRule ^news/(.*) drupal/news/$1
有关更多示例/帮助,请参阅Apache rewrite document。
如果存在另一个文件或指向另一个文件夹,Drupal无法接管任何文件夹。但在这种情况下,您的http://example.com/drupal/news/headline-test
和http://example.com/news/headline-test
网址都会显示相同的内容。
不要编辑Drupal的$base_url
设置。让Drupal搞清楚。此外,添加一些robots.txt
次禁止以防止内容重复。阻止drupal的原生URL。