【问题标题】:HTAccess LocationMatch Server ErrorHTAccess LocationMatch 服务器错误
【发布时间】:2011-10-03 13:33:44
【问题描述】:

如果位置是本地或实时服务器,我正在尝试使用此 .htaccess 更改 RewriteBase

Options +FollowSymlinks
RewriteEngine on

<LocationMatch "^/(bbtsrv02)/$">
    #RewriteBase /beta/admin/
</LocationMatch>

RewriteCond %{REQUEST_URI} !index.php$
RewriteCond %{REQUEST_URI} !css/(.*)\.
RewriteCond %{REQUEST_URI} !img/(.*)\.
RewriteCond %{REQUEST_URI} !incs/(.*)\.
RewriteCond %{REQUEST_URI} !js/(.*)\.
RewriteCond %{REQUEST_URI} !upload/(.*)\.
RewriteCond %{REQUEST_URI} !widget/(.*)\.
RewriteRule ^(.*) index.php?_pd=$1 [NC,L]

一旦我删除LocationMatch,整个事情就会重新开始工作。我只需要更改RewriteBase 即可进行实时测试。

【问题讨论】:

    标签: .htaccess live local locationmatch


    【解决方案1】:

    &lt;LocationMatch&gt; 指令 不能在 .htaccess 文件中使用 -- 只能在服务器配置或虚拟主机上下文中使用。

    http://httpd.apache.org/docs/current/mod/core.html#locationmatch

    【讨论】:

    • 杜尔。你知道我什至读过这篇文章并告诉自己要记住这一点。感谢您再次指出!
    • @James 你如何访问你的本地服务器?我猜是通过子文件夹。如果是这样 - 你为什么不伪造 DNS 名称(通过 hosts 文件)并通过域名访问(例如 http://mysite.dev/).. 所以 URL 结构与实时服务器上的相同?
    • 我们在本地服务器机器上开发,我们都单独连接。我曾考虑过设置hosts 文件,但当我们真正想要上线时,这很痛苦。
    • @James 然后通过你的本地 DNS 服务器(如果你有的话,当然)——那么就不需要编辑主机文件了。顺便说一句——为什么“当我们真正想要上线时会很痛苦”?您将拥有 1 个用于实时服务器的域名(真实)和用于本地开发的本地(不同)名称——我一直在这样工作,没有任何问题。
    猜你喜欢
    • 2012-02-05
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2016-07-16
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多