所以我对url重写and.htaccess一般都是新手。 我想重写下面的网址
/rewrite/profile/karis/2
作为
/rewrite/profile.php?name=karis&id=2
所以我的.htaccess代码是
RewriteEngine on
RewriteRule ^profile profile.php
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ profile.php?name=$1&id=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ profile.php?name=$1&id=$2
因此,当我将所有内容更改为index.php
时,此功能完美无缺,但相同的代码不适用于profile.php
。
简单的PHP代码是
<?php
if(isset($_GET['name']) && isset($_GET['id']))
{
echo "Hi ".$_GET['name'].", your id is ".$_GET['id'];
}
?>
任何想法为什么?
答案 0 :(得分:1)
您的规则可以合并为一个,第一个也可以放错位置。在/rewrite/.htaccess
:
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /rewrite/
RewriteRule ^([\w-]+)/([0-9]+)/?$ profile.php?name=$1&id=$2 [L,QSA]
RewriteRule ^profile/?$ profile.php [L]