在URL别名中使用'/ profiles'


8

路径“ / profiles”在Drupal安装的根目录中以物理文件夹的形式存在,这意味着将内容的URL别名添加到“ / profiles”将不起作用-结果为403错误。

幸运的是,对于一个特定的项目,我有一个SEO合作伙伴告诉我,使用该特定路径是绝对的,绝对的必须;没有这个将证明Myan的世界末日的预测实际上是准确的,我们都会死得很慢等等。

因此,我将继续将这个有点荒谬的问题抛给大众,看看是否有人找到了解决此问题的创造性方法...

如何在保持完整功能,可更新的Drupal实例的同时,将“ / profiles”(和“ / profiles / *”等)用作URL别名?

重要的是,我们正在使用“全局重定向”模块,并启用了“反斜杠”和“不清洁”选项(它们必须保持这种状态)。


从来没有这样做过,因此没有评论,也没有答案,但是由于/ profiles中通常没有可浏览的内容,所以我认为最好的选择是添加RewriteRule来将请求的URL更改为另一个基本路径。这应该使您摆脱/ profile问题。然后,您可能需要入站alter才能重新映射回/ profile。
mpdonadio

4
这可能是一个愚蠢的问题,但是我们不能仅将这个“ RewriteRule ^ profiles /(.*)/index.php?q=profiles/$1”放在htaccess文件顶部以将所有请求重写为/ profiles进行索引.php?q = profiles /%还是会导致更新/安全性问题
James

@MPD听起来很有希望,我可以尝试,但是什么都没做
克莱夫(Clive

1
您的网站如何安装?是从默认配置文件还是使用某种分发文件将其安装配置文件和模块包含在配置文件目录中?
Marek Sotak

1
@James对我有用:)尝试添加答案并赢得+500!
kalabro

Answers:


11

1).htaccess(在第100行之前):

RewriteRule ^profiles($|/(.*)) /index.php [L]

2)VirtualHost(用于反斜杠设置):

<Location /profiles>
     DirectorySlash Off
</Location>

仅当您使用全局重定向“反斜杠”时才需要第二部分。


太棒了,该DirectorySlash Off指令似乎已经解决了问题。谢谢您:)
Clive

1
辉煌。应该得到的赏金。
mpdonadio
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.