用于动态网页的hta​​ccess文件

时间:2016-08-11 05:12:04

标签: php .htaccess url-rewriting url-routing

我当前的网址:http://example.com/blog-single.php?id=15

这是一个动态博客页面,“id”必须根据博客添加进行更改

我需要将此网址更改为http://example.com/blog-single/<coresponding-blog-name>

例如:http://example.com/blog-single/my-new-blog

如何从当前网址中删除.php和id?

3 个答案:

答案 0 :(得分:1)

根据您的需要尝试。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)/([a-zA-Z0-9_-]+)$ $1.php?id=$2 [NC,L]

在这里,您可以http://example.com/blog-single/my-new-blog的方式使用您的文件名,这将根据您的要求适用于每个页面。

答案 1 :(得分:0)

首先需要创建.htaccess文件并在其中添加此代码

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ blog-single.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ blog-single.php?id=$1

之后在主文件中,例如在index.php文件中,您需要添加代码

<?php

$key=$_GET['key'];

if($key=='my-new-blog')
{
include('my_new_blog.php'); // Home page
}
else if($key=='login')
{
include('login.php'); // Login page
}
else if($key=='terms')
{
include('terms.php'); // Terms page
}
else
{
include('users.php'); // Users Gateway
}
?>

答案 2 :(得分:0)

例如,如果你访问:http://example.com/blog/1234.html,真实路径是http://example.com/blog.php?id=1234,你可以把它放在你的htaccess文件中:

RewriteEngine On RewriteRule ^blog/([^/]*)\.html$ /blog.php?id=$1 [L]

此工具可以帮助您:http://www.generateit.net/mod-rewrite/index.php