重写网址以删除问号并在htaccess

时间:2015-10-23 07:26:54

标签: php apache .htaccess mod-rewrite

我花了几个小时试图实现我认为很容易的事情。我有http://localhost/testing_url_document/second.php?id=2并希望将其转为http://localhost/testing_url_document/second/id/2。我已经实现了删除PHP扩展,但坚持重写网站页面。在htacces中,我遵循了以下程序。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

这是我的索引页

的index.php

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        // put your code here
        ?>
        <a href="second/id/2">click here</a>
    </body>
</html>

Second.php

<?php 
 echo $_GET['id'];
?>

second.php应该得到值2

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

/testing_url_document/.htaccess内以这种方式:

RewriteEngine On
RewriteBase /testing_url_document/

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^./]+)(/.*)?$ $1.php$2 [L]

RewriteRule ^([\w-]+(?:\.php)?)/([\w-]+)/([\w-]+)/?$ $1?$2=$3 [L,QSA,NC]

答案 1 :(得分:0)

这是可以解决您问题的最小配置:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^site=(.*)$ [NC]
RewriteRule index.php /index/site/%1? [R=301,L]