apache - .htaccess 将非 www 重定向到 www,但一个目录不起作用

标签 apache .htaccess mod-rewrite redirect

我想将所有非 www 重定向到 www。除了指向/cgi-bin/mail-dada/内的请求

我不明白为什么下面的代码也重定向http://something.com/cgi-bin/mail-dada/mail.cgi/admin/到 www 前缀的版本。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.something\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC]
RewriteRule (.*) http://www.something.com/$1 [R=301,L]

最佳答案

您问题中的规则应该有效。

我怀疑缓存有问题(也许是旧规则?)。
使用其他浏览器尝试或清除缓存并重试。

此外,如果您不想对域名进行硬编码,也可以这样做(如果您只有 www非 www 子域)

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

关于apache - .htaccess 将非 www 重定向到 www,但一个目录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526766/

相关文章:

html - HTML 中的 Perl CGI 脚本

ruby-on-rails - Rails 应用程序显示文件而不是显示应用程序

apache - Apache重写所有以某些路径开头的URL除外

.htaccess 语言检测规则

php - 使用 htaccess 重定向到另一个文件夹并隐藏文件夹的名称

PHP、IDE、MySQL、Curl API 和 apache 安装

apache - 将文件 url 重定向到 .htaccess 中的另一个页面

php - 如何根据帖子的日期和标题设置博客帖子的永久链接?

apache - 在 htaccess 重写规则中附加一个 secret token 作为查询字符串有多安全?

apache - 将 .php 重定向到无扩展名并创建没有 .php 的 url