【问题标题】:.htaccess url rewrite for sub-domain.htaccess 子域的 url 重写
【发布时间】:2014-05-15 06:42:58
【问题描述】:

我在子域domain.com/blog/landing-page/ 中有一个页面。

我想以domain.com/ 打开它,这样用户就不会知道我的页面在哪里。

我尝试下面的代码,但它对我不起作用,

RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+blog/landing-page[/\s] [NC]
RewriteRule ^ / [R=301,L]

我写了这个,但它打开了域/博客

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+blog/landing-page/([^\s]+) [NC]
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (?!^dirname/)^(.*)$ /blog/landing-page/$1 [L,NC]

我怎样才能让它工作?

【问题讨论】:

  • 您的 RegExp 可能希望更像 ^blog/landing-page/.*$ 但这实际上不会打开该博客页面,它会重定向到主页 - mod_rewrite 不是修改地址栏,而是实际上指导请求。
  • 您是否可以不只是将该文件夹设置为根目录,因为您还是这样做了?这样就不需要显示目录了。
  • @cclark413 如何设置子域为root?
  • @davidkonrad 我也试过了,但对我不起作用

标签: php regex apache .htaccess mod-rewrite


【解决方案1】:

这应该在 root .htaccess 中工作:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+blog/landing-page[/\s?] [NC]
RewriteRule ^ /? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!blog/landing-page/).*)$ /blog/landing-page/$1 [L,NC]

【讨论】:

    【解决方案2】:

    参考这个。这将起作用。

    http://chinjuharish.wordpress.com/2014/04/03/convert-incoming-url-from-upper-case-to-lower-case/

    希望对你有所帮助。

    【讨论】:

    • 我不想将大写转换为小写,请阅读我的问题
    • 好的沙姆斯。对不起。我会检查它
    【解决方案3】:

    这应该可以工作

    RewriteEngine  On
    RewriteBase /
    
    RewriteCond %{REQUEST_URI} blog/landing-page/?$ [NC]
    RewriteRule .* / [R=302,L]
    

    您的 Regex 可能有问题,但最好还是确认您的 RewriteBase。我离开了R=302,这样您就可以在提交更永久的R=301 之前测试所有内容

    【讨论】:

    • 按原样打开页面domain/blog/landing-page/
    • @Shams,我修改了上面的代码(我从RewriteCond 中删除了前导斜杠)。让我知道这是否有效。
    • 我对其进行了测试,但它也不起作用,我在我的问题中添加了另一个代码,它删除了登录页面,但我仍然需要删除博客
    • @Shams,我刚刚在我的本地服务器 example.com/blog/landing-page/ 上创建了一个测试页面,并使用了上面的 .htaccess 并且一切正常。但是,当代码放在我的 wordpress 重写规则下面时,它没有。那么,您的 .htaccess 文件中是否还有其他内容,或者 URL 中是否还有其他我们不知道的内容(即上面的代码假设 URL 的最后一个字符是 page 中的 e/,但是如果有url参数会失败)。关键是,我认为我们缺少一些信息来帮助您,因为我已经确认上述代码有效。
    • 是的,我还有其他代码,但我把那个代码放在了顶部。如何将我的 .htaccess 文件发送给您,以便您查看
    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 2015-02-17
    相关资源
    最近更新 更多