Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 需要使用htaccess重命名URL_.htaccess_Url_Apache2_Rewrite_Rename - Fatal编程技术网

.htaccess 需要使用htaccess重命名URL

.htaccess 需要使用htaccess重命名URL,.htaccess,url,apache2,rewrite,rename,.htaccess,Url,Apache2,Rewrite,Rename,我试了很多,但没有成功。我的要求如下 需要将URL从一个重命名为另一个 例如:/checkout/idnumber/checkout\u直接到/booking/idnumber/ 注意:id号是自动生成的 在重命名url时也需要获得相同的ID号(ID号会有所不同) 请帮我解决这个问题。 提前感谢。您可以在.htaccess文件中使用以下代码(请注意,这不是一个有效的代码,因为如果您有URL“/checkout/idnumber/checkout\u direct”,这意味着您已经有了“干净的UR

我试了很多,但没有成功。我的要求如下

  • 需要将URL从一个重命名为另一个

    例如:
    /checkout/idnumber/checkout\u直接
    /booking/idnumber/

    注意:id号是自动生成的

  • 在重命名url时也需要获得相同的ID号(ID号会有所不同)

  • 请帮我解决这个问题。
    提前感谢。

    您可以在.htaccess文件中使用以下代码(请注意,这不是一个有效的代码,因为如果您有URL
    “/checkout/idnumber/checkout\u direct”
    ,这意味着您已经有了“干净的URL”,为此,您有一个.htaccess重写规则,例如clean.php,并且可能与此冲突):

    如果您没有设置任何.htaccess规则,您的URL将如下所示:

    /checkout.php?id_number=123&checkout_direct=true
    
    而不是:/
    签出/id\u编号/checkout
    (干净的URL)

    为此,设置参数通常是一种更好的做法,如:

    /checkout.php?id_number=123
    
    然后:

    原始URL: #身份证号码=123

    所需的目标URL:

    .htaccess语法:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} id_number=1
    RewriteRule ^checkout\.php$ /booking/? [L,R=301]
    
    下面是如何使用.htaccess的一个非常好的示例:

    希望对你有帮助

    更新

    根据你的评论,我猜你的文件是'index.php',对吗?这是规则:

    RewriteRule ^example.com/checkout/([0-9]+)/?$/checkout_direct example.com/booking/$1
    
    这将使来自example.com/checkout/{any_number}/checkout\的所有请求直接重定向到example.com/booking/{any_number}。或:

    RewriteRule example.com/booking/([0-9]+)/?$ ^example.com/checkout/$1/checkout_direct
    
    我真的不知道你想要什么

    这是您在问题中想要的,但我认为您应该包括更多的重写规则,以指出哪个文件将“捕获”请求,即“example.com/booking/111”中的once应指向:

    example.com/booking/111
    =>
    index.php?booking=111

    为了赶上要求,并能够$\u获得预订号码和一切。
    希望能有所帮助

    谢谢您的回复,我的url已启用干净的url,但下面一个是我的确切url,没有干净的url。也没有你提到的php(checkout.php)。谢谢你的更新,是的,我只使用index.php。我的要求是你的第一条重写规则(更新的规则)。将检查并更新您的详细信息。
    RewriteRule example.com/booking/([0-9]+)/?$ ^example.com/checkout/$1/checkout_direct