使用RewriteRule将URL从page / unique_id写入page.php?id = unique_id

时间:2015-09-25 06:52:47

标签: apache .htaccess url-rewriting friendly-url

我正在尝试将我的网址格式从http://jacqueskoekemoer.co.za/article/5格式化为http://jacqueskoekemoer.co.za/article?i=5,其中i将成为数据库中的文章ID。

目前this URL有效。但this one没有。它确实将网址更改为article.php,但它不会将查询字符串添加到结尾。

我知道这一点,因为它没有出现在print_r($_REQUEST);print_r($_GET);

我在.htaccess文件中出错了什么,或者您能否建议我可以查看其他资源来解决问题?

我使用以下2个网址主要是为了让RewriteRule正常工作。

URL 1

URL 2

.htaccess文件中,规则重写部分如下所示:     

上的RewriteEngine
RewriteRule ^article/$ article.php?i=$1 [L] # Handle requests for "article"
#RewriteRule ^article/$/ article.php?i=$1 [NC,L] # Handle requests for "article"

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

1 个答案:

答案 0 :(得分:1)

使用以下规则:

RewriteEngine on

RewriteRule ^article/(\d+)$ article.php?i=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]