微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SEO友好网址使用PHP

参见英文答案 > Reference: mod_rewrite, URL rewriting and “pretty links” explained                                    4个
我正在尝试使用PHP制作SEO友好的网站…

文件夹jcheck中我有一个index.PHP文件,它接受一个参数“id”作为输入.

mydomain.com/jcheck/index.PHP?id=1 works

我怎样才能做到如下

mydomain.com/jcheck/1

我试过制作.htaccess文件和推杆

RewriteEngine on

RewriteCond %{REQUEST_URI} 1/
RewriteRule 1/ http://mydomain.com/jcheck/index.PHP?id=1

我怎样才能使它工作?

解决方法:

你基本上可以这两种方式:

带有mod_rewrite的.htaccess路由

在根文件夹中添加一个名为.htaccess的文件,并添加如下内容

RewriteEngine on
RewriteRule ^/Some-text-goes-here/([0-9]+)$/picture.PHP?id=$1

这将告诉Apache为此文件夹启用mod_rewrite,如果它被问到匹配正则表达式的URL,它会在内部将其重写为您想要的内容,而不会让最终用户看到它.简单但不灵活,所以如果你需要更多的力量:

PHP路由

将以下内容放在.htaccess中:

FallbackResource index.PHP

这将告诉它为您在站点中通常无法找到的所有文件运行index.PHP.在那里你可以举例如:

$path = ltrim($_SERVER['REQUEST_URI'], '/');    // Trim leading slash(es)
$elements = explode('/', $path);                // Split path on slashes
if(count($elements) == 0)                       // No path elements means home
    ShowHomepage();
else switch(array_shift($elements))             // Pop off first item and switch
{
    case 'Some-text-goes-here':
        ShowPicture($elements); // passes rest of parameters to internal function
        break;
    case 'more':
        ...
    default:
        header('HTTP/1.1 404 Not Found');
        Show404Error();
}

这就是大型网站和CMS系统如何做到这一点,因为它在解析URL,配置和数据库相关的URL等方面提供了更大的灵活性.对于零星的使用,.htaccess中的硬编码重写规则会很好.

*****从URL rewriting with PHP复制此内容**

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐