【问题标题】:Remove /drupal from url path从 url 路径中删除 /drupal
【发布时间】:2013-02-12 22:59:31
【问题描述】:

我正在开发一个 Drupal 网站,我想在其中将我的网站显示为 www.ex.com 而不是 ex.com/drupal

我已尝试使用此代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^202.158.43.33$ [NC]

RewriteRule .* 202.158.43.33 [L,R=301]
RewriteRule ^$ drupal/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/drupal%{REQUEST_URI} -f
RewriteRule .* drupal/$0 [L]
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteRule .* drupal/index.php?q=$0 [QSA]
</IfModule>

它保存在根文件夹中,我更改了 $base_url = 'http://www.ex.com';在 drupal/sites/default/settings.php

当我运行我的网站时,我看到的网址是:202.158.43.33/202.158.43.33/202.158.43.33/202.158.43.33.........

谁能告诉我如何解决这个问题。

【问题讨论】:

    标签: drupal url-rewriting


    【解决方案1】:

    不要编写自己的代码,而是使用 Drupal 的默认 .htaccess 文件。然后取消注释这段 sn-p 代码的最后两行。

      # To redirect all users to access the site WITH the 'www.' prefix,
      # (http://example.com/... will be redirected to http://www.example.com/...)
      # uncomment the following:
      # RewriteCond %{HTTP_HOST} !^www\. [NC]
      # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    虚拟主机文件配置:

    <VirtualHost *:80>
        ServerAdmin me@mysite.com
        DocumentRoot "/var/www/http/mysite.com"
        ServerName mysite.com
        ServerAlias www.mysite.com
    </VirtualHost>
    

    文档根目录应该指向您在当前站点下导航到的 Drupal,即“/drupal”子目录。

    【讨论】:

    • 我仍然遇到同样的问题。我想要的不是在 URL 中显示 /drupal 文件夹名称。说 www.website.com/drupal 我想将其显示为 www.website.com
    • 所以这完全是一个不同的问题。如果您的站点位于 www.x.com/some_directory 您的虚拟主机不是您的 .htaccess 文件的问题。我会用你的虚拟主机应该是什么样子在我的答案中添加一个编辑。
    • 我已经尝试了你的建议,但我仍然无法解决问题。这就是我想要的,如果我输入我的网站 Ip 说 202.158.43.33 它会将我重定向到 202.158.43.33/drupal 我不想在 url 中显示 /drupal
    • 如果您的 vhost 和 .htaccess 按照我在上面列出的方式编写,您的主页必须设置为“/drupal”,只需在站点信息配置页面中将其更改为您想要的任何内容。如果您完成了这三件事,它将解决您的问题。如果它不能解决您的问题,则说明您没有正确执行它们。确保您的 DocumentRoot 指向实际的 drupal 安装。这意味着如果您按照该文档根目录中的路径,您将看到一个目录,其中包含站点、模块、readme.txt、robots.txt 和所有爵士乐。
    • 谢谢,它对我有用,但最后一件事。我可以看到我的 url 和 IP 地址,我看不到 drupal 模板或任何图片。
    【解决方案2】:

    您是否需要将 drupal 文件放在此域中的单独文件夹中?我只是在问,因为有一个明显的答案可以让一个人的 drupal 站点在根目录中运行:只需将所有文件从 drupal 文件夹(位于“drupal”文件夹中的所有文件)移动到父(根)目录和您的站点将显示在 www.yourdomain.com,而不是 www.yourdomain.com/drupal

    【讨论】:

      猜你喜欢
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      相关资源
      最近更新 更多