Apache 使用mod_rewrite重写重定向的URL
以下是我的设置: 我的网站位于www.cabsh.org/drupal 我想使用mod_rewrite做两件事:Apache 使用mod_rewrite重写重定向的URL,apache,url,mod-rewrite,redirect,Apache,Url,Mod Rewrite,Redirect,以下是我的设置: 我的网站位于www.cabsh.org/drupal 我想使用mod_rewrite做两件事: 将www.cabsh.org重定向到(我得到了这个) 将/www.cabsh.org/drupal/index.php重写为www.cabsh.org/site/index.php 我不知道如何达到第二点。我正在使用.htaccess文件,因为我无法使用主服务器配置。有人能帮我把这件事做好吗 谢谢 从你的评论中我了解到,你只想要这样的东西: RewriteEngine on # P
谢谢 从你的评论中我了解到,你只想要这样的东西:
RewriteEngine on
# Prevent a request directly to the /drupal folder
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/drupal/
RewriteRule ^drupal/(.*)$ /site/$1 [R=301,L]
# Change a request for /site/(anything) to /drupal/(anything)
RewriteRule ^site/(.*)$ /drupal/$1
但是要小心,因为Drupal(位于Drupal文件夹中)可能会生成指向/Drupal而不是/site的链接,这似乎不是您想要的。您的站点位于/Drupal下。为什么要将/drupal/index.php重定向到/site/index.php。。。也许我没有具体说明,但我也可以重写(而不是重定向“!=[R]”)/drupal到/site它仍然有点不清楚您想要什么。如果您的Drupal站点位于/Drupal,为什么要将对该文件夹的请求重写为/site?或者您想通过访问/site访问/drupal?(如果是这样的话,为什么不改变Drupal目录的名称呢?)是的,实际上,我只想隐藏Drupal,用site重命名它。我知道我可以重命名文件夹,但我想用mod_rewrite来做,这样我就可以练习了。我仍然不知道如何使用mod_rewrite实现它