使用 RewriteRule 将 URL 从 page/unique_id 写入 page.php?id=unique_id
Using RewriteRule to write URL from page/unique_id to page.php?id=unique_id
我正在尝试将我的 URL 从 http://jacqueskoekemoer.co.za/article/5
格式化为 http://jacqueskoekemoer.co.za/article?i=5
,其中 i
是数据库中的文章 ID。
目前 this URL works. But this one 没有。它确实将 url 更改为 article.php
但它不会将查询字符串添加到末尾。
我知道这个是因为它没有出现在 print_r($_REQUEST);
或 print_r($_GET);
中
我的 .htaccess
文件哪里做错了,或者您能建议我可以参考的其他资源来解决问题吗?
我主要使用以下 2 个 URL 来使 RewriteRule 正常工作。
在 .htaccess
文件中,规则重写部分如下所示:
重写引擎开启
RewriteRule ^article/$ article.php?i= [L] # Handle requests for "article"
#RewriteRule ^article/$/ article.php?i= [NC,L] # Handle requests for "article"
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
使用以下规则:
RewriteEngine on
RewriteRule ^article/(\d+)$ article.php?i= [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php [L]
我正在尝试将我的 URL 从 http://jacqueskoekemoer.co.za/article/5
格式化为 http://jacqueskoekemoer.co.za/article?i=5
,其中 i
是数据库中的文章 ID。
目前 this URL works. But this one 没有。它确实将 url 更改为 article.php
但它不会将查询字符串添加到末尾。
我知道这个是因为它没有出现在 print_r($_REQUEST);
或 print_r($_GET);
我的 .htaccess
文件哪里做错了,或者您能建议我可以参考的其他资源来解决问题吗?
我主要使用以下 2 个 URL 来使 RewriteRule 正常工作。
在 .htaccess
文件中,规则重写部分如下所示:
重写引擎开启
RewriteRule ^article/$ article.php?i= [L] # Handle requests for "article"
#RewriteRule ^article/$/ article.php?i= [NC,L] # Handle requests for "article"
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
使用以下规则:
RewriteEngine on
RewriteRule ^article/(\d+)$ article.php?i= [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php [L]