这一直困扰着我一段时间。我的网站上有一些使用PHP切换案例来更改页面内容的页面。我遇到的问题是这些网页的网址不是很友善。无法更改PHP开关案例URL
我想改变这个 :
http://www.abcprintingink.com/printing.php?page=print-and-mail
这样:
http://www.abcprintingink.com/printing.php/print-and-mail
或更好
http://www.abcprintingink.com/printing/print-and-mail
我试过的.htaccess并没有什么作品。以下是我在.htaccess已经试过:
RewriteEngine On
#RewriteRule ^web.php/([^-]*)$ /web.php?page=$1 [QSA]
#RewriteRule ^/web.php/?page\=(.*)$ /web.php?page=$1 [l]
RewriteRule ^web.php/(.*)$ /web.php?page=$1 [l]
RewriteRule ^web.php/([a-zA-Z0-9\-/\.]+)/?$ web.php?page=$1 [L]
在.htaccess工作的其他命令,所以我知道它不是文件或Web服务器。
这是printing.php
<?php
/* SEO Switch Statements */
$pagename = "printing";
$page = htmlspecialchars($_GET["page"]);
switch ($page) {
case 'print-and-mail':
$page_title = 'page title';
$page_description = 'page desc';
$page_nav_active = 'print-and-mail';
$page_content_copy = 'page text';
$template_slider_image = 'image';
break;
}
?>
switch语句此外,这是链接的网页菜单后面的脚本。你可以尝试
<?php $menu=count($navigation); for ($i=0; $i<$menu; $i++)
{ echo '<div><li class="navigation"><a href="?page='.$navigation[$i].'">'
.$replaced = str_replace("-", " ", $navigation[$i]).'</a></li></div>'; } ?>
你是说这些链接不工作(404大概),或者他们确实工作,PHP的switch语句没有接收GET中的值吗? (所以页面显示错误的内容)? –
哦,不,他们工作正常。它只是像“webpage.php?page = content-page”这样的URL显示,无论在.htaccess文件中有重写规则,我都无法让它们以不同的方式显示。 –
如果有帮助我在导航菜单中有这样的代码<?php $ menu = count($ navigation); for($ i = 0; $ i <$ menu; $ i ++){ \t \t \t \t echo'