【问题标题】:Strange error while redirecting using .htaccess使用 .htaccess 重定向时出现奇怪的错误
【发布时间】:2014-11-26 17:08:52
【问题描述】:

长话短说,我正在尝试重定向:

http://example.com/?_escaped_fragment_=/onetwothree

到这样的事情:

http://example.com/serve.php?_escaped_fragment_=/onetwothree

我正在使用以下 .htaccess 代码:

# Enable Rewriting
RewriteEngine on
RewriteCond %{QUERY_STRING}  _escaped_fragment_=  [NC]
RewriteRule ^(.*)$ http://example.com/serve.php$1 [P,QSA,L]

但反应很奇怪:

Forbidden

You don't have permission to access /serve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpserve.phpindex.html.var on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

我做错了吗?我是新手。非常感谢您的帮助。

更新 1

我尝试使用:

RewriteEngine on
RewriteCond %{QUERY_STRING}  _escaped_fragment_=  [NC]
RewriteCond $1 ^serve\.php
RewriteRule ^(.*)$ http://example.com/serve.php$1 [P,QSA,L]

但现在它根本不起作用。当我尝试访问example.com/?_escaped_fragment_=/dfas 时,它会将我重定向到example.com/?_escaped_fragment_=/dfas#! 而不是example.com/serve.php?_escaped_fragment_=dfas 请帮助我,我不知道为什么会这样。这对我来说真的很重要。

【问题讨论】:

    标签: apache .htaccess mod-rewrite hashbang


    【解决方案1】:

    你需要检查你是否已经被重定向到serve.php:

    RewriteEngine on
    RewriteCond %{QUERY_STRING}  _escaped_fragment_=  [NC]
    RewriteCond $1 !^serve\.php
    RewriteRule ^(.*)$ http://example.com/serve.php$1 [P,QSA,L]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2020-08-30
    • 2013-05-05
    • 1970-01-01
    相关资源
    最近更新 更多