我是一个drupal新手...
我完成了我的第一个drupal网站。然后客户想在新的drupal网站下运行他们的旧CRM,他们将CRM文件夹上传到drupal文件夹,当我尝试解决CRM管理员时,如下所示,它重定向drupal 404页面(这是搜索页面)。
www.blablabla.com/crm/admin
来自drupal的错误消息如下:
您请求的页面不存在。为方便起见,搜索 使用查询500执行 SHTML。
有什么方法可以让drupal忽略其文件夹下的任何文件夹?通过.htaccess的东西,或者我不知道:/
欣赏帮助太多了!非常感谢!
答案 0 :(得分:4)
我建议只从drupal里面链接到旧的cms。并保留drupal文件夹之外的旧cms的文件夹。您的旧cms也可能没有正确引用链接(它期望http://oldcmslink并且在drupal中它将是http://drupal?q=something)。
答案 1 :(得分:2)
Drupal在.htaccess
文件中使用这些行。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
要使用下面的子目录,您需要在此之前使用RewriteRule
属性添加[L]
,或者将您的子目录添加到此处的RewriteCond
列表中,例如:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/crm/ # Ignore Drupal Redirects for our CRM.
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
答案 2 :(得分:0)
您必须在.htaccess文件中制作mod_rewrite规则。 Drupal将(几乎)所有请求定向到index.php,然后将请求发送到Drupal的菜单路由器。因此,除非您创建重写规则,否则您的CMS永远不会工作。
但如果可以的话,我会把controlfreak123的建议移到另一个地址。你将不得不维护自己版本的Drupal的htaccess文件,并在每次升级时处理这项工作。如果添加新模块等,稍后可能会发生名称冲突。