Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 使用mod_rewrite重写重定向的URL_Apache_Url_Mod Rewrite_Redirect - Fatal编程技术网

Apache 使用mod_rewrite重写重定向的URL

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

以下是我的设置:

我的网站位于www.cabsh.org/drupal

我想使用mod_rewrite做两件事:

  • 将www.cabsh.org重定向到(我得到了这个)
  • 将/www.cabsh.org/drupal/index.php重写为www.cabsh.org/site/index.php
  • 我不知道如何达到第二点。我正在使用.htaccess文件,因为我无法使用主服务器配置。有人能帮我把这件事做好吗


    谢谢

    从你的评论中我了解到,你只想要这样的东西:

    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实现它