如何更改网址并避免出现“?q =”?

时间:2011-06-21 05:04:33

标签: drupal drupal-7

我使用的是Ubuntu 10.10 + apache2 + php 5.33 + mysql + Drupal 7.

我的问题是Drupal使用的网址类似于以下网址:http://localhost:8080/drupal72/?q=node/1

我想删除?q=node/1并将其替换为名称/user/book

4 个答案:

答案 0 :(得分:5)

您想在drupal的安装中添加“Clean URL”,请参阅:

http://drupal.org/getting-started/clean-urls

答案 1 :(得分:1)

启用干净的URL是您应该做的第一步。您将得到的是http://example.com/node/1所显示的网址(将example.com替换为您的Drupal网站的域名)。如果您想要一个类似于http://example.com/books/clean-urls的网址,那么您应该安装Pathauto

  

Pathauto模块自动为各种内容(节点,类别,用户)生成路径别名,而无需用户手动指定路径别名。这允许您获取/category/my-node-title.html而不是/ node / 123这样的别名。别名基于管理员可以控制的“模式”系统。

答案 2 :(得分:1)

在ubuntu上,你只需做两件事就可以让干净的网址首先工作

  

sudo a2enmod重写

这是启用apache的重写模块。 您需要做的第二件事是,在您的默认apache主机文件中,该文件位于

  

的/ etc / apache2的/位点可用/默认

在你的档案中,它会说

  

AllowOverride无

转到

  

AllowOverride All

如下。

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

然后重启服务器

sudo /etc/init.d/apache2 restart

这将使干净的网址在drupal中工作。

答案 3 :(得分:0)

首先,您需要启用Apache的mod_rewrite才能使用它。看看你是否在/ etc / apache2 / mods-enabled中启用了它,如果你没有看到rewrite.load链接,你需要做的是:

sudo a2enmod rewrite

然后重启Apache:

sudo /etc/init.d/apache2 restart

然后,如kiamlaluno所述,您需要启用Clean URL,并安装Pathauto和Token模块。