简体   繁体   English

重写规则接受两个变量并将文本添加到URL

[英]Rewrite rule takes in two variables and adds text to the URL

I've created an htaccess file for my website that converts a URL like this http://www.example.com/fixture?id=1 to something like http://www.example.com/fixtures/1 . 我创建了我的网站的htaccess文件,转换这样的URL http://www.example.com/fixture?id=1喜欢的东西http://www.example.com/fixtures/1

My htaccess file: 我的htaccess文件:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^fixtures/(\d+)*$ fixture.php?id=$1

That works how I want it, but isn't exactly SEO friendly, so I'd like to pass in two more variables home and away like so http://www.example.com/fixture?id=1&home=Arsenal&away=Chelsea . 那可以按我的意愿工作,但并不完全适合SEO,因此我想像下面这样传递另外两个变量http://www.example.com/fixture?id=1&home=Arsenal&away=Chelsea home & away http://www.example.com/fixture?id=1&home=Arsenal&away=Chelsea

Then rewrite the URL to look like ` http://www.example.com/fixtures/arsenal-vs-chelsea . 然后将URL改写为` http://www.example.com/fixtures/arsenal-vs-chelsea

There are many questions about rewrite rules on SO, but none discuss adding a small portion of text between variables. 关于SO的重写规则有很多问题,但是没有一个讨论在变量之间添加一小部分文本。 How could I make it so that I could add the vs portion of the URL using a rewrite rule? 如何做到这一点,以便可以使用重写规则添加URL的vs部分?

You can use: 您可以使用:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^fixtures/([^/]+)-vs-([^/]+)/?$ fixture.php?home=$1&away=$2

Rewrite to: http://www.example.com/fixture?home=Arsenal&away=Chelsea 重写为: http://www.example.com/fixture?home=Arsenal&away=Chelsea : http://www.example.com/fixture?home=Arsenal&away=Chelsea home=Arsenal&away=Chelsea

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM