【问题标题】:How do I get .htaccess to redirect from wildcard subdomain page to wildcard subdomain folder如何让 .htaccess 从通配符子域页面重定向到通配符子域文件夹
【发布时间】:2013-08-30 18:17:50
【问题描述】:

我想重定向

http://*.domain.co.uk/services.php 

http://*.domain.co.uk/services 

其中* 是通配符域。

理想情况下,htaccess 应该读取服务页面(因为我有多个)并重定向到同一个服务文件夹。

这是因为我已将我的 PHP 页面更改为 folder/index.php

【问题讨论】:

    标签: php apache .htaccess redirect mod-rewrite


    【解决方案1】:

    将此添加到文档根目录中的 htaccess 文件中:

    RedirectMatch 301 ^/([^/]+)\.php$ /$1/
    

    你很可能需要那个斜杠,因为如果它把你重定向到一个目录,mod_dir 将重定向再次以添加斜杠。


    编辑:

    要排除,您必须使用 mod_rewrite:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !index\.php
    RewriteRule ^/?([^/]+)\.php$ /$1/ [L,R=301]
    

    【讨论】:

    • 谢谢。我是将它放在我的 public_html 文件夹还是我的通配符子域文件夹中?另外,我需要把Options +FollowSymLinks -MultiViews #Turn mod_rewrite on RewriteEngine On RewriteBase / before it
    • @JosephNaylor 哪个是文档根目录。本质上,如果您输入http:*.domain.co.uk/,您将去的地方(对于您的每个主机/子域)。
    • 那没有重定向 - 只是说 404
    • @JosephNaylor 抱歉,我漏掉了一个斜线
    • @JosephNaylor 不,这是 mod_alias 的一部分,如果您有处理类似 URI 的 mod 重写规则,那么您需要为 mod_rewrite 重写上述指令,否则您不需要其他任何东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多