1

(有非常相似的问题,但没有一个解决它)

  1. 我的域是 www.abc.com,它会自动映射到 /public_html(由我的主机制作,我无法在管理面板中更改)
  2. 我的 cms drupal7.15 在文件夹 public_html/foo/drupal715/

大问题: 为什么:当我打开 www.abc.com 时,网址看起来 www.abc.com/foo/drupal715/index.php 它应该是一样的!但是我用 drupal 创建的其他链接或页面正在运行,例如 www.abc.com/myproject

看我的配置

我在根目录(public_html)中有第一个 .htaccess,它看起来像:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.abc.com$ [OR]
RewriteCond %{HTTP_HOST} ^abc.ch$ [OR]
RewriteRule ^(.*)$ /foo/drupal715/$1 [PT,L,QSA]

这重定向到我的子目录有效,但为什么当我打开我的主 url 时 url 显示文件夹?

任何帮助,请!我厌倦了尝试。

这里是 drupal root 中 htaccess 的有趣部分。

 # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line
  #RewriteBase /foo/drupal715
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  RewriteBase /

  # Pass all requests not referring directly to files in the filesystem to
  # index.php. Clean URLs are handled in drupal_environment_initialize().
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} ^/foo/drupal715/(.*)$
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,B]
  #RewriteRule ^ index.php [L]

最好的祝福

4

1 回答 1

2

mod_rewrite 的工作方式在文档中进行了解释,并且在这里也进行了多次讨论。
它在服务器上工作,它不会除非您专门制定规则来执行此操作)将任何更改的 url 返回给客户端。这就是允许您创建和使用“用户友好的 url”的原因。如果您的站点从一个页面/文件夹重定向到另一个页面/文件夹,我建议您开始查看实际请求的内容以及它的实际作用。例如 - 看看你的 index.php,有什么作用?

于 2012-09-06T07:55:18.880 回答