【问题标题】:Wrong URL routing in menu菜单中的 URL 路由错误
【发布时间】:2014-04-30 04:01:09
【问题描述】:

嗨,朋友们,首先我为我的英语感到抱歉。我买了一个剧本。

但是有些事情没有意义。此脚本的安装视频在Youtube

我在这个视频安装作品中做了所有的事情。

在安装脚本中观看视频文件时

http://localhost:8888/wall/

我让他们的脚本运行顺利。 但是当我将脚本文件复制到http://localhost:8888/ 时,问题正在发生。

由此产生的问题是链接被定向到错误的位置。 为了清楚起见,我给你看一张照片。这张图片设置在http://localhost:888/ 当我单击朋友按钮时,我在第二张图片中收到错误。 错误图片

这样连接数据库

  <?php
    define('DB_SERVER', 'localhost');
    define('DB_USERNAME', 'root');
    define('DB_PASSWORD', 'root');
    define('DB_DATABASE', 'wall3');
    $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
    $database = mysql_select_db(DB_DATABASE) or die(mysql_error());
    mysql_query ("set character_set_results='utf8'");   
    $path = "uploads/";
    $profile_path="user_profile_uploads/";
    $perpage=10; // Updates perpage
    $base_url='http://localhost:8888/';
    $gravatar=0; // 0 false 1 true gravatar image
    $rowsPerPage=10; //friends list
    ?>

菜单代码

<div id='header'>
<img src='<?php echo $base_url;?>wall_icons/blacklogo.png'/>
<span style='float:right'>
<ul id='nav'>
<?php if($login) { ?>
<li><a href="<?php echo $index_url; ?>">Home</a></li>
<li><a href="<?php echo $base_url.$session_username; ?>">Profile</a></li>
<li><a href="<?php echo $base_url.'friends/'.$session_username; ?>">Friends</a></li>
<li>
<?php if($session_conversation_count>0) {
echo "<span id='conversation_count'>$session_conversation_count</span>";
} ?>
<a href="<?php echo $base_url.'messages.php'; ?>">Messages</a></li>
<li><a href="<?php echo $base_url.'settings.php'; ?>">Setting</a></li>
<li><a href="<?php echo $base_url.'logout.php'; ?>">Logout</a></li>
<?php } else { ?> 
<li><a href="<?php echo $index_url; ?>">Login</a></li>
<li><a href="<?php echo $index_url; ?>">Sign Up</a></li>        
<?php   } ?>
</ul>
</span>
</div>

我在这个网站上试过这个:www.ecoshoptr.com

同时我在这个 url 上得到了错误。

URL地址没有错误:www.ecoshoptr.com/wall-3/

模拟账户:

Username: srinivas
Password: 9lessons

.htaccess 里面:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^ecoshoptr\.com$
RewriteCond %{REQUEST_URI} !^/
RewriteRule (.*) http://www.ecoshoptr.com/$1 [r=301,nc]

RewriteBase /

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

【问题讨论】:

  • 你必须用某人的照片截屏吗?
  • 服务器上有.htaccess吗?
  • @BenM 是的,但这是错误的,它仅适用于 localhost:888/wall-3
  • @BenM 我在我的问题中添加了 .htaccess 文档,你能再检查一次吗?
  • 那里没有重写规则来捕获/friends。此外,?id= 的两行是多余的。您可以使用 ? 运算符将它们合并为一个:RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?id=$1

标签: php


【解决方案1】:

这是您的解决方案:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./profile.php?username=$1 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2011-03-15
    • 2018-04-06
    • 2015-06-01
    相关资源
    最近更新 更多