【问题标题】:.htaccess RewriteRule Help (code provided).htaccess RewriteRule 帮助(提供代码)
【发布时间】:2012-12-18 12:55:55
【问题描述】:

我有一个 .htaccess 文件,想知道如何将 /home 重写为 /(根目录)

我通过另一个 StackOverflow 问题找到了以下代码:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/home/.*$
RewriteRule ^(.*)$ /$1 [L]

这是我用来重写 /home 目录以显示为根目录的正确代码吗?

【问题讨论】:

  • 问题中的规则是将所有没有 /home 的 URI 重定向到没人知道的位置,因为您没有包含请求的 URI,我认为这与您想要的相反。

标签: .htaccess mod-rewrite


【解决方案1】:

您不能重定向到文档根目录之外的文件夹。如果您真的打算让您的盒子的/ 可以通过网络访问,那么您应该首先创建一个名为/root 的apache 别名,该别名指向/。将以下行添加到您的 apache 配置中:

Alias /root /
<Directory "/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All 
    Order allow,deny
    Allow from all
</Directory>

然后你应该在你的网络服务器根目录中编辑 .htaccess - 也许是/var/www/.htacess - 像这样简单:

RewriteEngine On
RewriteRule ^home/(.*) root/$1

此外,您还必须确保 Web 服务器用户有权访问 /

【讨论】:

    【解决方案2】:

    将您的 .htaccess 代码更改为:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^home/(.*)$ /$1 [L,NC]
    

    【讨论】:

      猜你喜欢
      • 2011-04-23
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多