【问题标题】:Rewrite rules for a domain with folder and bluehost使用文件夹和 bluehost 重写域的规则
【发布时间】:2013-09-23 14:21:05
【问题描述】:

我有一个带有 bluehost.com 的域,但无法让重写规则正常工作。他们的支持没有帮助!

这就是我需要的。我有域“abc.com”并且在“abc.com/v1”中有文件,所以我需要

http://abc.com/v1/about-us.php should be written as http://abc.com/v1/about-us

请指教..根据我的知之甚少,我根据阅读一些示例进行了尝试..但它不起作用。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$

RewriteCond %{HTTP_HOST} !^abc\.com\v1$ [NC]

RewriteRule ^about-us/(.*) about-us.php/$1

【问题讨论】:

    标签: .htaccess rewrite bluehost


    【解决方案1】:

    启用mod_rewrite.htaccesshttpd.conf,然后将此代码放在.htaccess 下的DOCUMENT_ROOT 目录下:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+/about-us)(/.*|)$ /$1.php$2 [L,NC]
    

    【讨论】:

    • 谢谢..会尝试的。我怀疑我是否可以访问 httpd.conf。看起来他们已启用它..将确认。一个问题,如果我们在规则中没有提到 /v1,那么将来如果我添加文件夹调用 v2 并且需要编写规则,我该怎么做?没关系,因为这个文件必须放在我创建的每个文件夹中?
    • 进行必要的编辑以获取about-us 之前的任何文件夹名称。它可以是 v1、v2 或 any-thing-else
    • 我试过了,但不工作,..可能是它没有启用。当我联系他们时,他们说它应该默认启用。另外,一个问题 - 通常当规则不起作用时,它总是显示 500 Internal error 对吗?但是现在添加上述规则后,我看到了 404 错误
    • 您使用哪个 URL 进行测试以及将 .htaccess 放在哪个目录中?
    • 它尝试将上述代码放在两个地方 1) /abc.com 和 2)/abc.com/v1 中。当我累了第一个时,我没有把它放在第二个中,反之亦然。由于不同的原因,目前无法分享实际的域名/网址..抱歉。
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2019-12-12
    • 2017-07-16
    • 2012-11-22
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多