.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
/checkout/idnumber/checkout\u直接
到/booking/idnumber/
注意: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