1

我一直使用 PHP 将页面包含到索引文件 (index.php) 中,但我想要一个干净的 URL,而不使用 GET 方法和 SEO 友好的解决方案,我现在没有其他方法来做到这一点(而不是 website.com /index.php?page=about 将是 website.com/about)我在 index.php 的顶部使用 PHP 来告诉我的网站,其网站应为纠察队:

<?php
    $page=$_GET['page'];
        if($page!=''){
            $page=$_GET['page'];
        }else{
            $page="homepage";
        }
?>

我在应该包含页面的地方使用它:

<?php
    if($page){
        include("pages/".$page.".php");
    }else{
        include("pages/homepage.php");
    }
?>

我的链接看起来像这样:

<a href="?page=homepage" <?php if ($page == 'homepage') { ?>class="active"<?php } ?>>forside</a>

我真的希望你能给我一个好的解决方案,编程语言几乎取决于你。
谢谢

4

1 回答 1

1

从 SEO 的角度来看,我宁愿使用http://doma.in/?page=something格式的网址尝试将它们实现为http://doma.in/something

为此,您有两种选择,具体取决于您网站的具体特征:

  1. “静态”页面,其中代码因页面而异(“静态” php 代码仍然可以呈现非常生动的输出,该输出会根据例如数据库输入而迅速变化)。在这种情况下使用

    RewriteEngine on
    RewriteCond  %{REQUEST_FILENAME}  !
    RewriteRule ^(.*)$ /$1.php [L,QSA]
    

    更改 .htaccess 或 httpd.conf 以让 apache 为您完成所有 url 欺骗。

  2. 动态页面,它们都通过同一个通用代码库呈现(这是许多框架所做的)。按照使用 mod_rewrite 将所有流量重定向到 index.php来准备支持这一点。一般来说,将您的关键字到页面路由到 php 更昂贵。然而,这提供了很大的灵活性,可能值得额外的资源。

于 2013-10-09T12:53:55.693 回答