1

我在谷歌和这里搜索了一个教程来帮助我重写我的网址。我希望有人解释我必须写什么以及为什么。

我有这个网址:

http://iescup.eu/tournaments.php?tourney[id]=1
http://iescup.eu/tournaments.php?tourney[id]=2
http://iescup.eu/tournaments.php?tourney[id]=3

等等

我想要这个网址:

http://iescup.eu/#!/tourneys/1
http://iescup.eu/#!/tourneys/2
http://iescup.eu/#!/tourneys/3

等等

真诚的符文 纳德鲁普达尔

4

1 回答 1

0

因此,您输入http://iescup.eu/tournaments.php?tourney[id]=1浏览器的 URL 地址栏。请求/tournaments.php?tourney[id]=1被发送到服务器iescup.eu。在该服务器上,文档根目录中的 htaccess 文件中的这些规则:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^tourney\[id\]=([0-9]+)$ [NC]
RewriteRule ^/?tournaments.php$ /#!/tourneys/%1? [L,R=301,NE]

变量被匹配,%{QUERY_STRING}数字 ID 被分组并由%1反向引用。规则的目标?末尾有一个用于删除查询字符串的NE标志,并且使用了该标志,因此#不会对其进行编码。

该规则将浏览器重定向到http://iescup.eu/#!/tourneys/1从而更改 URL 地址栏。然后浏览器向 iescup.eu 发送另一个请求/。请注意,#!/tourneys/1片段永远不会发送到服务器。片段仅是客户端,用于确定应如何处理内容(也由 javascript 使用)。

于 2012-10-22T18:12:18.040 回答