使用获取和隐藏扩展名重写URL

时间:2017-01-01 16:51:01

标签: php .htaccess

我有一个删除.php扩展名的网站。我的.htaccess

Options +Indexes +FollowSymLinks -MultiViews

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://sampsv.com/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^\.]+)$ $1.php [NC, L]

我有这样的网址:

  

https://myweb.com/panel/server?id=1234

如何将其转换为:

  

https://myweb.com/panel/server/1234

我正在尝试,但它显示404错误。

更新

我使用此代码:

RewriteRule ^([^\.]+)/([\d]+)$ server.php?id=$1 [QSA,L]

但我的网站显示错误消息,找不到任何数据。

我的代码:

if(isset($_GET['id']))
{
  echo 'Ok';
}
else
{
  echo 'Can't Found any Data';
}

1 个答案:

答案 0 :(得分:0)

尝试此规则我假设服务器是一个php文件,

Options +Indexes +FollowSymLinks -MultiViews

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://sampsv.com/$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)/([\d]+)$ server.php?id=$2 [QSA,L]