実際に存在しないURLを作成するにはどうすればよいですか?たとえば、https://twitter.com/i/notifications- です。/通知を削除すると、が得られます。https://twitter.com/i/- 動作しません。ですが、このURL /i/は実際には存在しません。実際に存在しないURLについて
どうすればいいですか?
実際に存在しないURLを作成するにはどうすればよいですか?たとえば、https://twitter.com/i/notifications- です。/通知を削除すると、が得られます。https://twitter.com/i/- 動作しません。ですが、このURL /i/は実際には存在しません。実際に存在しないURLについて
どうすればいいですか?
すべてのリクエストを単一のPHPファイルでルーティングし、そのPHPファイルのロジックを使用してURLが存在するかどうかを判断する.htaccessファイルを作成できます。これは、あなたがまだ再マッピングされ得るが、これらの文字列で始まらない任意のURLが意志しない画像、CSS、JSなどを指定することができます
RewriteCond $1 !^(index\.php|images|css|fonts|js|robots\.txt|test)
RewriteRule ^(.*)$ /index.php/$1 [L]
:たとえば、あなたは私のCodeIgniterの.htaccessファイルを使用することができますindex.phpにルーティングされます。 index.php内では、クエリ文字列を調べて、URLをどのように扱い、存在するかどうかを判断することができます。
// code in index.php, modify to suit
switch ($_SERVER["PATH_INFO") { // you might also check out REQUEST_URI
case "foo":
// do blah blah blah
break;
case "bar":
// do other blah blah blah
break;
default:
header("HTTP/1.0 404 Not Found");
echo "Sorry but that page was not found";
}
あなたの 'RewriteRule'は、リクエストされたURLパスを、クエリ文字列ではなく、_path情報(つまり' $ _SERVER ['PATH_INFO'] ')として渡しています。 – DocRoot
@DocRoot DOH!あなたは正しいです。編集中... –
あなたは.htaccess
ファイルを編集してURL書き換えを使用することができます。 .htaccess
が存在しない場合は、プロジェクトのルートディレクトリに作成することができます。
RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /picture.php?id=$1
あなたはあなたstrtagy使用することができますurl.com/picture.php?id=51
同様に
picture.php/Some-text-goes-here/51
に上記変換されます。
ご協力いただきありがとうございます。
最終溶液:
'/? 'を追加する必要はありません。 'RewriteRule^i(/.*)?/ company/company [L、NC]'となります。それがなければ大丈夫だろう。両方の作品。それは重複しているようです。だから、あなたに提案をすることを考えました。 – Perumal
'/?'(スラッシュプレフィックス、この正規表現では_optional_になっています)は、このルールをサーバ設定やVirtualHostコンテキストで使用する場合にのみ必要です。ディレクトリごとの '.htaccess'ファイルでは、' RewriteRule'パターンにマッチしたURLパスはスラッシュで始まらないので、ここではそれを_optional_としています。 – DocRoot
何かのようなものですか? –
どうやってやろうとしているのですか? –
これはリクエストの書き換えと呼ばれます。それを検索することができます – MiltoxBeyond