所以我在.htaccess文件中有这个
RewriteEngine On
RewriteBase /core/
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$
RewriteRule ^page page/%1/? [L]
我的网址是
http://localhost/core/page.php?page=8
应用规则我正在......
Not Found
The requested URL /core/page/8/ was not found on this server.
这是在wampserver 2.2上运行的
文件结构如
c:/wamp/www/core
.htaccess位于/ core /目录中。 我错过了什么..我检查了我的apache.conf文件,它看起来很好。
答案 0 :(得分:2)
我认为你错了路。在逻辑上考虑重写时,不要将原始URL 重写为新URL (例如 page.php?page = 8 to 第8页/ )您实际上将 page / 8 / 重写为 page.php?page = 8 。您告诉服务器它应该如何解释不熟悉的URL。
所以,如果我理解你想要实现的目标是:
我相信以下RewriteRule可以解决这个问题(不需要查询字符串条件):
RewriteRule ^page/(\d+)/$ page.php?page=$1 [L]