私は一度も使ったことがありません.htaccessは今私の人生です。私はそれを学んでいますが、私は非常に難しいと感じています。PHPで変数を取得するためのURLを書き換える方法
誰もがこの
Www.exampleするために、この
Www.example.com?s=abc
からインスタンス
のURL
を書き換えるために私の手順を教えてもらえます.com/abc
私は一度も使ったことがありません.htaccessは今私の人生です。私はそれを学んでいますが、私は非常に難しいと感じています。PHPで変数を取得するためのURLを書き換える方法
誰もがこの
Www.exampleするために、この
Www.example.com?s=abc
からインスタンス
のURL
を書き換えるために私の手順を教えてもらえます.com/abc
.htaccess
実際には仕事の半分に過ぎません。
この.htaccess
はあなたが前にそれがmydomain.com/myurl
を言いながら、この.htaccess
しかし、それがためにこれを行うことはありません、背景にindex.php?request=myurl
にすべてのあなたの要求をオン(と思う)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.+)$ index.php?request=$1 [QSA,L]
望むものを達成します1から最後の行に記載されている拡張子。 (さもなければ、あなたはcss、js、画像などをロードしようとするときに問題になるでしょう)。そこから経路を外したいエクステンションを追加してください。
しかし、これはPHPでこれをキャッチする部分があります。 すべてはあなたのindex.phpを経由します。つまり、リクエストを「キャッチ」し、必要なファイルを手動で含めるスクリプトが必要です。
私はここにあなたのための非常に簡単な例を貼り付けます:
<?php
$getRequest = explode('/', $_GET['request']);
$page = $getRequest[0];
if(file_exists("/mypages/$page.php")) {
require_once('myheader.php');
require_once("/mypages/$page.php");
require_once('myfooter.php');
}
else{
echo "page not found";
}
?>
ではなく、重複としてフラグをマークするために、その優れた新しい回答を追加します。 –
@AbdullaNilamもし私がそれが1つだと分かっていたら、私は持っていたでしょう... – NoobishPro
@Babydeadあなたはあなたがそういう質問に最初に答えた人だと思ったのですか? – EhsanT