2

URL の一部を削除するにはどうすればよいですか? htaccess や apache についてはよくわかりません。

たとえば、ストリップwww.mysite.com/page=servicesしたいと思います。www.mysite.com/services

これを実現するために .htaccess ファイルに正確に何を入れる必要がありますか?それは他のページでも機能しますか?

ありがとう。

4

2 に答える 2

1

www.mysite.com/index.php?page=services元の URL を意味していると思います。www.mysite.com/page=services

また、おそらく反対の意味で、に切り替える必要がありwww.mysite.com/servicesますwww.mysite.com/index.php?page=service

とにかく、変更www.mysite.com/servicesするにwww.mysite.com/index.php?page=servicesは .htaccess が必要です。そのためのルールは次のようになります。RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L]

前に提案したように、.htaccess、正規表現、および書き換えルールについて読む必要があります。最適なリソースは、こちらの apache ドキュメントです: http://httpd.apache.org/docs/2.2/howto/htaccess.html

反対のものが必要だというあなたのコメントを以前に読みましたが、なぜそれが必要なのかわかりません.なぜなら、URL短縮の全体的な考え方は、解決できるいくつかのセキュリティ上の懸念に加えて、覚えやすいURLを作成することだからです. URL は Web ページをロードするために送信される最初のものであり、次に .htaccess がそれを PHP が理解できない形式に変更し、次に PHP がパラメーターの取得などを処理します。

于 2012-11-06T19:46:03.793 に答える
1

最近、自分のサイトの 1 つでこれを試してみて、これを思いつきました。私にとっては問題なく動作します。

これは .htaccess ファイルに入ります:

RewriteEngine On
RewriteRule ^([A-Za-z]+)/?$    index.php?page=$1    [NC,L]

次に、yoursite.com/pagename と記述すると、yoursite.com/index.php?page=pagename が php に送信されます。次のようにページにリンクします: yoursite.com/pagename 送信後、アドレスバーの yoursite.com/index.php?page=pagename を yoursite.com/pagename に変更しません (それが理にかなっている場合:) )

これがあなたが探しているものであることを願っています...

于 2012-11-06T20:07:56.023 に答える