تغییر ادرس لینک و حذف php. از آدرس ها
درود بر شما
چطور میشه لینک صفحات رو تغییر داد برای مثل سایتی رو داریم اینطوری
https://x.ir/Actions/join.php
حالا میخوایم ادرسش بشه این: https://x.ir/Actions/join
یعنی پسوند .php حذف بشه از تمام صفحاتمون
اینکار چطور امکان پذیره؟
ممنون میشم کامل و با مثال و کد یکی توضیح بده
سپاس
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
سلام
توی هاستتون یک فایل htaccess ایجاد کنید و کد زیر رو درون اون قرار بدید :
https://askoverflow.ir/paste/9yjEVA
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
MiladWorkShop
درود بر شما
فایل .htaccess اصلیم به صورت زیر هستش که http رو به صورت خودکار منتقل کنه به https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
اما چیزی که شما گذاشتی ، یه فایل تو پوشه action درست کردم به نام htaccess و کدی که گذاشتید رو ذخیره کردم:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
و داره کار میکنه
حالا میخوام ببینم این راه اصولیه؟
یعنی وبسایتهای دیگه هم همین کار رو میکنن برای حذف پسوند یا ...
و اینکه ایا میشه فایل .htaccess بیشتری داشت تو هر پوشه ها یا نه فقط باید یکی داشته باشیم اون هم توی روت
ممنون میشم بیشتر توضیح بدی عزیز
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
بله, این راه اصولی هست و عموماً به همین شکل استفاده میشه
کد کامل :
کد HTML:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
MiladWorkShop
بله, این راه اصولی هست و عموماً به همین شکل استفاده میشه
کد کامل :
کد HTML:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
اها ممنونم عزیز؛
پس میشه جفتشو تو همون فایل اصلی گذاشت و دیگه ایجاد نکرد
ممنونم مشکل فعلا حل شده و بدون دات پی اچ پی تمام صفحات رو میاره بالا
خیلی لطف کردی
مسئله ای بود در این رابطه تاپیک رو باز میارم بالا.
دستت درد نکنه
فقط یه سوال دیگه؛ اگه بخوایم همون ادرس رو https://x.ir/Actions/join.php تبدیل کنیم به https://x.ir/Actions/join-us باید چیکار کنیم؟
و همچنین صفحات دیگمون رو به الگوی خاص مثل این.
در اینصورت راه حل چیه؟
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
کد HTML:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^join-us$ join.php
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
MiladWorkShop
کد HTML:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^join-us$ join.php
404
Not Found
The resource requested could not be found on this server!
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
اینو تست کنید :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^Actions/join-us$ Actions/join.php
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
MiladWorkShop
اینو تست کنید :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^Actions/join-us$ Actions/join.php
اها ایول ما Actions رو نزاشته بودیم که فایلم هم تو اون پوشس دقت نکرده بودم
الان درست شد داداش
موقعی که بخوایم برای هر پست ادرس مشخص کنیم باید چیکار کنیم
مثلا هر پست ادرسش بشه اینطوری:
https://x.ir/پست اول
https://x.ir/پست دوم
https://x.ir/پست سوم
اینو نمیدونم چطوری باید تنظیم کنم و همیشه هم برام سوال بود
ممنون از وقتی که میزاری
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نمیشه برای هر کدوم این شکلی نوشت؟ کد:
RewriteRule ^(آدرس مجازی)$ (آدرس حقیقی)
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
باید از روتر استفاده کنید
تمام درخواست ها رو به یک فایل مثلا index.php ارسال کنید، مثل کاری که این صفحه کرده
https://altorouter.com/usage/rewrite-requests.html
و بعد با استفاده از router ، کنترلر و اکش مربوطه رو صدا بزنید
مثل این صفحه
https://altorouter.com/usage/mapping-routes.html
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
peymang
ASHKANLAEI
MiladWorkShop
درود
اخه اطلاعات من تو دیتابیسه نه تو پیج
من میخوام اطلاعات رو از دیتابیس بگیرم تو اون صفحه نشون بدم یعنی مثلا
x.ir/db/post1
x.ir/db/post2
x.ir/db/post3
post1 , post2 , post3 قراره از دیتابیس گرفته بشه و تو همون صفحه نشون داده بشه
بنظرم باید دوتا پیج درست کنم، اولی ،همه اینهارو بریزم داخلش؛ تو دومی هروقت رو اینا تو پیج اول کلیک شد با متد get اینارو پاس بدم به اون صفحه و طبق عنوان اطلاعاتشون رو از دیتابیس بگیرم و کامل نشون بدم
درسته؟
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نه نمیشه، یه همچین چیزی میفرسته url وقتی رو هر عنصر که از دیتابیس نمایش دادیم کلیک میکنیم:
https://x.ir/Pages/mainpage.php?field=+text
میخوام دقیقا اینو بفرسته تو url و من هم اطلات کامل رو از filed یا id بگیرم بریزم تو صفحه:
https://x.ir/Pages/mainpage/text
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
درودی دوباره دوستان
ببینید تونستم اینکار رو انجام بدم:
mainpage.php
<?php while ($row = mysqli_fetch_array($query_show_fileds)): ?>
<tr>
<td ><?php echo ('<a href="\Pages\secondpage?ID=' . $row['ID'] . '">' . $row['field1'] . '</a>');?>
</td>
</tr>
secondpage
$id = $_GET['ID'];
$result = mysqli_query($db,"SELECT * FROM TBL WHERE ID = $id");
<?php while ($row = mysqli_fetch_array($result)):?>
<tr >
<td ><?php echo $row['filed1'];?></td><br>
<td><?php echo $row['filed2'];?></td><br>
<td><?php echo $row['filed3'];?></td>
<br>
</tr>
<?php endwhile;?>
اما چیزی که هست تو url صفحه دوم که قراره همه فیلدا طبق فیلد اول که کلیک شده تا نمایش داده بشه اینطوریه:
https://x.ir/Pages/secondpage?ID=1
امیدوارم منظور رو تونسته باشم برسونم
علامت سوال و = رو چطور میشه حذف کرد، خروجی url میخوام اینطوری بشه:
https://x.ir/Pages/secondpage/1
باتشکر از وقتی که میزارید
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
×××چرا اینطوری شده این سایت برنامه نویس
دوتا دوتا پست میکنه
نه امکان حذف پست میده به کاربر
دکمه تشکر رو هم که حذف کرده
نه دیگه مثل سابق نیست اینجا×××
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
MohammadGh2011
درودی دوباره دوستان
ببینید تونستم اینکار رو انجام بدم:
mainpage.php
<?php while ($row = mysqli_fetch_array($query_show_fileds)): ?>
<tr>
<td ><?php echo ('<a href="\Pages\secondpage?ID=' . $row['ID'] . '">' . $row['field1'] . '</a>');?>
</td>
</tr>
secondpage
$id = $_GET['ID'];
$result = mysqli_query($db,"SELECT * FROM TBL WHERE ID = $id");
<?php while ($row = mysqli_fetch_array($result)):?>
<tr >
<td ><?php echo $row['filed1'];?></td><br>
<td><?php echo $row['filed2'];?></td><br>
<td><?php echo $row['filed3'];?></td>
<br>
</tr>
<?php endwhile;?>
اما چیزی که هست تو url صفحه دوم که قراره همه فیلدا طبق فیلد اول که کلیک شده تا نمایش داده بشه اینطوریه:
https://x.ir/Pages/secondpage?ID=1
امیدوارم منظور رو تونسته باشم برسونم
علامت سوال و = رو چطور میشه حذف کرد، خروجی url میخوام اینطوری بشه:
https://x.ir/Pages/secondpage/1
باتشکر از وقتی که میزارید
حله خودم یافتم:
این باید تو فایل htaccess اضافه بشه:
RewriteRule ^Pages/x/([0-9]+) Pages/x?ID=$1
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
این روش اشتباه است، باید از روتر استفاده کنید. اگر داکیومنت که بالا دادم رو مطالعه کنید به راحتی و اصولی می تونید این مشکل رو برطرف کنید
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
peymang
این روش اشتباه است، باید از روتر استفاده کنید. اگر داکیومنت که بالا دادم رو مطالعه کنید به راحتی و اصولی می تونید این مشکل رو برطرف کنید
چرا اشتباه؟
این راه هم بدون دردسر کار میکنه و مسیریابی میکنه
https://www.youtube.com/watch?v=lRmlDeB7Ovs
چیزی که تو این لینک اموزش داده.
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
.htaccess بیشتر برای پیکربندی استفاده میشه
اگر مسیریابی رو داخل php انجام بدی، اپلیکشنت قابل حمل تر و با مدیریت آسان تر می شود
و قابلیت های بیشتری هم بهت می ده (مثلا می تونی برای هر مسیر یک اسم بزاری و در بخش های دیگه استفاده کنی) و ...
ضمن اینکه بیشتر فریمورک ها (تقریبا همه فریمورک های php) از همین روش استفاده می کنند
نقل قول: تغییر ادرس لینک و حذف php. از آدرس ها
نقل قول:
نوشته شده توسط
peymang
.htaccess بیشتر برای پیکربندی استفاده میشه
اگر مسیریابی رو داخل php انجام بدی، اپلیکشنت قابل حمل تر و با مدیریت آسان تر می شود
و قابلیت های بیشتری هم بهت می ده (مثلا می تونی برای هر مسیر یک اسم بزاری و در بخش های دیگه استفاده کنی) و ...
ضمن اینکه بیشتر فریمورک ها (تقریبا همه فریمورک های php) از همین روش استفاده می کنند
ممنون
اره لرَول هم همین کارو میکنه، دلیلش هم همین پیچیدگی فوق العاده زیاد کدها و فایلهای پروژه بود که نرفتم سمت فریمورک.و به کل گذاشتم کنار...