رفتن به مطلب

خطای The page isn't redirecting properly


پست های پیشنهاد شده

سلام و خسته نباشید

یک قسمت برای سایتم داده بودم برنامه نویسی کرده بودند که برای اخبار سایت بود اما الان کار نمیکنه دسترسی به نویسنده اسکریپت هم ندارم

سایت به صورت user.site.ir درست کار میکنه اما میخوام تغییرش بدم به صورت site.ir/user باز بشه

این کد index.php هست :


if(preg_match('#([a-z0-9-]+?)\.site\.ir#i', $servername, $blogname)){
if(isset($_GET['id']) ){
$res=mysql_query("select id,username from `feeds` where `id`=(select fid from `news_tmp` where `id`=$_GET[id]) limit 1");
if(mysql_num_rows($res)>0){
list($id,$username)=mysql_fetch_array($res);
if($blogname[1]!=$username){
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://site.ir/$username/index-$_GET[id]" );
exit;
}
}
}
$username=$blogname[1];

با کد بالا خطای The page isn't redirecting properly میده اما اگر به این شکل باشه درست کار میکنه:


if(preg_match('#([a-z0-9-]+?)\.site\.ir#i', $servername, $blogname)){
if(isset($_GET['id']) ){
$res=mysql_query("select id,username from `feeds` where `id`=(select fid from `news_tmp` where `id`=$_GET[id]) limit 1");
if(mysql_num_rows($res)>0){
list($id,$username)=mysql_fetch_array($res);
if($blogname[1]!=$username){
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://$username.site.ir/index-$_GET[id]" );
exit;
}
}
}
$username=$blogname[1];

یعنی اگر به صورت user.site.ir بزاریم درست کار میکنه اما من میخوام به صورت site.ir/user باشه

اینم کدهای htaccess


RewriteEngine On
#RewriteBase /
RewriteRule index-([0-9]*) ./index.php?id=$1 [L]
RewriteRule ^post/(.*)-([0-9]*)$ ./search.php?key=$1&start=$2 [L]
RewriteRule ^post/(.*)$ ./search.php?key=$1 [L]
Rewriterule ^rss.xml ./rss/rss.php
### EXPIRES
# month A2592000, week A604800, day A86400, hour A3600,15 min A900
ExpiresActive On
ExpiresDefault A86400
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A900

لینک به ارسال
  • 3 هفته بعد...

قبل header یه ob_start() بزارین ببینین درست میشه یا نه اگه نشد برای دیدایرکت از تابع زیر استفاده کنید

    function redirect($refer)
{
ob_start();
if (!headers_sent())
header('Location: '.$refer);
else {
echo '<script type="text/javascript">';
echo 'window.location.href="'.$filename.'";';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
echo '</noscript>';
}
}

  • امتیاز 1
لینک به ارسال

قبل header یه ob_start() بزارین ببینین درست میشه یا نه اگه نشد برای دیدایرکت از تابع زیر استفاده کنید

 function redirect($refer)
{
ob_start();
if (!headers_sent())
header('Location: '.$refer);
else {
echo '<script type="text/javascript">';
echo 'window.location.href="'.$filename.'";';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
echo '</noscript>';
}
}

تشکر استاد

اما کار نکرد و بازم همون خطارو میده

به هاستینگ گفتم اینو فرستاد :

ظاهرا مساله ی مورد نظر مربوط به دستورات موجود در فایل

.htaccess

می باشد، چرا که با تغییر نام آن حطای

Not Found

مشاهده شد، پیشنهاد می کنیم این مساله را از طریق پشتیبان برنامه در میان بگذارید

کدهای htaccess رو بالا گذاشتم یعنی اونا مشکل داره ؟

ویرایش شده توسط beh9am
لینک به ارسال

url و لینکهای سایت شما الان به چه صورت هست؟

user.site.ir یا site.ir/user

کدهای ریرایت زیر رو به نوبت تست کنید ببینید جواب میده

RewriteRule [a-z0-9-]+/index-([0-9]*) ./index.php?id=$1 [L]
RewriteRule [^/]+/index-([0-9]*) ./index.php?id=$1 [L]

لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...