【问题标题】:excluding subdomain from root .htaccess Rewrite_rule从根 .htaccess Rewrite_rule 中排除子域
【发布时间】:2014-06-21 14:30:32
【问题描述】:

我的网站上有 Opencart 脚本。在根 .htaccess 中,我有这些行到 seo 链接。

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

我有一个名为 /imei 的子域,但我无法访问它(我收到 404 Not Found)。原因是上面代码的最后一行。如果我删除此行,我可以访问 /imei,但搜索引擎将被禁用商店。

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

我的问题是如何在 /imei 中排除 RewriteRule?到目前为止,我已经在 /imei .htaccess 中尝试了几种类型的 htaccess,但没有奏效!

任何想法将不胜感激:)

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    我假设您正在谈论您的 Web 根目录下的 imei 文件夹。

    在这种情况下,将您的最后一条规则更改为:

    RewriteRule ^(?!imei)([^?]*) index.php?_route_=$1 [L,QSA]
    

    (?!imei) 是负前瞻,检查路径是否以 imei 开头

    让我知道这是否有效。 :)

    【讨论】:

    • 我更改了它但没有用(仍然找不到页面)。是的,/imei 是 Web 根目录下的文件夹。我需要在 /imei 中创建一个 .htaccess 吗?
    • @anubhava 谢谢...你启发了我!我一定已经阅读了 50 多个你的答案。 :)
    • @PersianHero 不,htaccess 在 web 根目录下很好,imei 文件夹中不需要。你能给我一个地址的例子,给你一个 404 吗? (当然要更改域。)
    • @PersianHero:这应该对你有用。作为替代方法,创建一个新的 /imei/.htaccess 文件,其中只有一行 RewriteEngine On
    • 我才意识到问题所在。我在 /IMEI 中使用 htaccess 密码保护。无论我是否将 RewriteRule 更改为 @zx81 的,我都会收到“找不到页面”。我必须在 root 的 .htaac​​ess 中禁用该行!有什么想法吗?
    猜你喜欢
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多