0

我有一个带有多个重定向的 htaccess 文件,现在我想为某些链接创建一个漂亮的 url。我尝试了以下句子,但它什么也没做:

RewriteEngine On
RewriteRule ^/example1.html /?page_id=100 [NC]

当我在浏览器中输入 www.MyDomain.com/?page_id=100 时,网站会显示,但 url 看起来仍然与我输入的相同。如何更改我的句子以在 url-bar 中显示 example.html 而不是 ?page_id=100 ?

提前致谢

4

1 回答 1

0

你有一条规则说:

当浏览器请求时:/example1.html

然后向他们展示:/?page_id=100

它是一种方式,如果浏览器请求它不会做任何事情/?page_id=100。如果你想对请求查询字符串 URL 的浏览器做一些事情,*你需要一个规则来告诉 mod_rewrite 去做*:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(index\.php)?\?page_id=100($|\ |&)&?([^\ ]*)
RewriteRule ^ /example1.html?%3 [L,R=301]

此外,您可能希望摆脱/规则模式中的 :

RewriteRule ^example1.html /?page_id=100 [NC]

与 htaccess 文件中的规则匹配时,前导斜杠会被去除。

于 2013-09-05T15:28:05.207 回答