我正在使用PHP创建的网站。
开发环境是Windows(使用xampp)
根据我们作为url变量传递给index.php文件的“page”变量的值显示网站页面。
即。的 http://example.com/index.php?page=xyz
上面的网址指向xyz.php
文件
大约有50页(将来可以增加)。
我希望我的网址像这样
http://example.com/xyz
为了实现这一点,我在.htaccess文件中写了以下.htaccess rule
(在项目的根文件夹中)
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]
但它根本不起作用。
另一个网址是
的 http://example.com/index.php?page=abc&name=gaurav&id=10&page_no=2
我希望这个网址像这样显示
http://example.com/abc/gaurav/10/2
我举例说明了网址的不同形式,但页面变量将始终存在于网址中。
如果我为上述两个网址提供规则,则无效(显示500内部服务器错误)
请帮我写下这条规则。
答案 0 :(得分:1)
尝试
RewriteRule ^([^/]+)$ index.php?page=$1 [L]
所以是+而不是明星。它将使用所有字符,直到找到正斜杠(/)