drupal下面的clean url(简洁链接)问题解决

A.Windows+Apache

在apache目錄下修改httpd.conf. 文件:/apache/conf/httpd.conf.

在文件中 确定开启mod_rewrite模块 如果尚未开放把前面的#号去掉

LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule cache_module modules/mod_cache.so 如果这一个模块是默认开启的话 就不用管他了

开始了就加#关闭

在HTTPD.CONF文件中的
AllowOverride 代碼 全部替换成 AllowOverride All 这个是以保证重写可以启用

188 行改成 AllowOverride All
223 行改成 AllowOverride All

其他的不用改了 httpd.conf是改这个文件的

Drupal的settings.php中 我是在此文件最下方加入

$conf['clean_url']=1;

在标准的Drupal安装中, .htaccess文件已经支持简洁链接了 这个文件不用改 就是上传的时候记得把它給传上去

回到管理员菜单admin---settings---clean-urls---enabled--save configuration
当然也可以先测试下链接

B.让Windows+IIS支持drupal的简洁链接

说明:drupal在IIS下问题贼多了,这一个只是顺便记载。

在这个情况下选择使用ISAPI_Rewrite Lite来解决URL重写的问题
1、下载IIS Rewrite模块:http://download.discuz.net/4.1.0/discuz_iis_rewrite.zip ;

2、将压缩包解压到任意目录,(如:C:\Rewrite)。然后打开“控制面板”-“管理工具”-“IIS信息服务管理器”-“网站”-“您的站点”-“属性”。在“ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll ;

3、重新启动IIS就可以生效了。

4、修改 httpd.ini文件
在文件的最后面加上:
# Accept a url with the following extensions and pass them through unchanged.
RewriteRule (.*.gif|.*.png|.*.jpg|.*.pdf|.*.js|.*.css) $1 [I,L]

# Make URLs sane
RewriteRule /index.php.* $0 [I,L]
RewriteRule /(.*)\?(.*) /index.php\?q=$1&$2 [I,L]
RewriteRule /(.*) /index.php\?q=$1 [I,L]

5、修改DRUPAL项目中的settings.php文件
在文件的最后面加上
$conf['clean_url']=1;

6、输入网址,已经启动了"简洁链接"啦?:)
注意:设置路径模块。必须保证Drupal站点上的路径模块(path module)被启用而且正确的配置了权限。可以在管理>>模块中启用路径模块,把权限设置为管理URL别名和创建URL别名在管理 >>设置中启用简洁链接。首先,看看是不是能用简洁链接访问到设置页面,键入下面的链接:http: //www.example.com/admin/settings ( 用主机名替换掉 www.example.com )。如果没有发生错误,并且这个页面和点击“管理”然后点击“设置”时的页面相同,那么就该知道重写规则的设置是成功的,可以点击“简洁链接”处的确认选项。如果有问题,可以查阅卸载简洁链接。如果还有关于简洁链接的问题可以在Drupal的settings.php中设置$conf['clean_url']=1;。
原文地址:https://www.cnblogs.com/callbin/p/1447055.html