انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
من راه با htaccess. رو بلد نیستم اما یه راه ساده با خود php هستش که اونم گرفتن آدرس Request و جدا کردن متن بعد از هر اسلش ( / ) در یه array هستش اینطوری:
الان خروجی دستور بالا برای شما باید یه چیزی مثل این باشه:کد PHP:<?php
$url = explode('/', $_SERVER['REQUEST_URI']);
print_r($url);
که همونطور که می بینید بر اساس یه عدد میشه به هر متن داخل URL دسترسی داشت مثلاً برای فهمیدن نام محصول می تونیم از کد زیر استفاده کنیم:کد:Array ( [0] => [1] => Product [2] => DKP-147243 [3] => TP-LINK-Neffos-C5 )
اما خب این روش شاید در موارد کوچک به کار بیاد ولی در موارد بزرگتر یکم غیر استاندارد به نظر میادکد PHP:echo $url[3];
توابع استفاده شده یکی explode برای تقسیم یک رشته بر اساس کاراکتری خاص به یک آرایه هست: http://php.net/manual/en/function.explode.php
یکی هم متغیر سراسری SERVER که اطلاعات خیلی بیشتری به جز همین REQUEST_URI میشه ازش گرفت که تو این لینک نوشته: http://php.net/manual/en/reserved.variables.server.php
سلام
والله آدرس های من اصلا ساختار منظم و مرتبی ندارن و از طرفی هم ثابت نیستند شاید 100 مدل آدرس دهی باشه
تنها کاری که میخوام بکنم اینه که یوزر هر آدرسی که دلش میخواد بده، هر آدرسی.... مثلا
exp.com/asdasd
exp.com/sdfsa/asdaws/afwew/34545
exp.com/1240*-/w454
exp.com/فارسی
حالا کاری که من میخوام این هست، آدرس یوزر رو بگیره (البته به جز اسم دامنه) بعدش بذاره توی یه متغییر
حالا ما باید توی htaccess اینو پیاده کنیم
ولی بلد نیستم
انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
ببینید اگه فقط مشکل گرفتن هر آدرس مختلفی هست که با همین روشی که گفتم میشه فقط یادم رفت بگم همین روشی که گفتم هم نیاز به کد htaccess. شبیه کد htaccess. وردپرس داره که تمامی Request ها رو به فایل php شما بده و شما پردازش کنی و بر اساس اون URL محتوا رو نشون بدی کاری که وردپرس دقیق انجام میده و تمامی Request ها رو به فایل index.php میده.
وردپرس برای این کار از این کد در فایل htaccess. استفاده میکنه که من خودم به شخصه همینو تو خیلی از پروژه های شخصی خودم هم کپی کردم و براحتی کار کرده
اینو وقتی تو فایل htaccess. بذارید دیگه هر چی کاربر تو آدرس بنویسه میره به همون فایلی که در خط یکی مونده به آخر این کد اشاره شده اما این کد URL رو در یه Query String قرار نمیده که بتونید بر اساس متد GET بگیریدشون به همین دلیل باید با روشی که بالا گفتم یعنی تابع explode و آیتم REQUEST_URI داخل آرایه سراسری SERVER آدرسی که کاربر بعد از دامنه شما نوشته رو پیدا کنید.البته اگر این آدرس رو کامل و بدون نیاز به تقسیم بر اساس هر اسلش داشته باشید می تونید براحتی تابع explode رو حذف کنید و فقط از آیتم REQUEST_URI داخل آرایه SERVER استفاده کنید.کد:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
ویرایش توسط AtrafNet : January 17th, 2017 در ساعت 12:30
انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
وب سرور هاست شما چیه؟ میگم اگه NginX باشه کار نمیکنه.
بعدش باید mod_rewrite هم روی آپاچی فعال باشه البته LiteSpeed هم سازگاره.
این مورد رو من بار ها تست کردم و مشکلی نبوده و مثال خاصی هم نیاز نداره همینی که شما انجام دادید هم باید کار کنه فقط فایل htaccess. باید دقیق کنار فایل php مورد نظر باشه تا کار کنه.
LiteSpeed Web Server
والله مشکلی با وردپرس روی همین سایت ندارم
من یه پوشه درست کردم فایل ها تو اون پوشه هست
انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
آقا روی دامنه دیگه و ایندکسش درست کار کردم
حله ، فدایی داری به مولا دست خوش
انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
ممنون بابت دوستان برای راهنمائی
حالا میخوام به کد بالا یک موردی رو اضافه کنم
مثلا یه سابدامینی هم باشه مثل dl
dl.exp.com/asdad/asdad/asasd.zip
میخوام وقتی کاربر به این آدرس مراجعه کرد، من فایل زیر رو براش برای دانلود ارائه کنم
dl.exp22222.com/asdad/asdad/asasd.zip
تو فایل htaccess باید اجرا بشه، ممنون میشم کمکم کنید
انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)