2017-03-16 8 views
0

私は昨日同じ質問をしましたが、downvotedでした。関連する回答と文書で回答を見つけるために一日中苦労しますが、運がない。URLのかなりの変数(PHP + Apache)

質問をもう一度やり直してください。私はこれをもっと明確に伝えることができます。

私はsite.com

で単一ページアプリは、ユーザーがURLを使用して、フロントエンドに渡す任意の変数を作成できるようにする必要があります。そのようなページが存在しない場合でも、変数はURLに表示されます。 site.com/variable(URLの形式は、ここに示すとおりである必要があります)。

私はPHPとApacheを使用しています。

私のhtaccessファイルは、次のようになります。URL rewriting

RewriteEngine On 
RewriteRule ^/(.*)$ /$1 [QSA,L] 
+0

URL自体に変更を加えることなく、.htaccessを使用してURLに関係なく1ページをレンダリングする方法を探しましたか?これはあなたのための解決策のように聞こえます – Stu

+0

はい、それはこのようなものでなければなりません:RewriteRule /(.*)/ $ 1 – KPzzle

答えて

0

と呼ばれる何を探してるんです。これは、テンプレートURLを特定のURLに書き換えることを可能にする周知の機能です。最も一般的な使用例は、URLのコンポーネントをGETパラメータに移動することです。

私は実際にはApacheに慣れていないが、このように.htaccessファイルが充填、

RewriteEngine on 

RewriteRule ^(.*)$ index.php?variable=$1 [QSA,L] 

だからルートの隣にあるすべてのもの、index.phpのに転送されなければならない仕事をする必要があります$ _GET ['変数']にすべてのコンテンツを含めます。操作は、Apache側で行われるため、クライアントには目に見えるURLの変更はありません。

+0

残念ながら、私はこのエラーを取得することができます: 見つかりません URL /変数がこのサーバー上に見つかりませんでした。 – KPzzle

+0

@KPzzle、元の質問に完全な.htaccessファイルを追加すると、見つからないエラーの原因の1つになる「RewriteEngine on」などが見つからないことがあります。 – Stu

+0

私はこの2つの行だけを使用しています。これは、@ Jordan Quagliatiniが次のように記述したものです: RewriteEngine On RewriteRule /^(.*)$/$ 1 [QSA、L] – KPzzle

0
index.php 
<a href="1">click</a> 

submit.php 
<?php 
echo $_GET['id']; 
?> 

.htaccess 
RewriteEngine on 
RewriteRule ^([A-Za-z0-9-]+)/?$ submit.php?id=$1 [NC,L] 
+0

あなたの答えに詳細を記入してください。これがどのように役立つかを説明してください。 –

関連する問題