0

私は.htaccessファイルについて十分な知識を持っていません.とにかく、どこかで以下に示すコードを見つけました:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>

以下に示すように、フォームの値を index.php ページから pagedata.php に投稿しています。

<!-- index.php page -->
<form name="testform" id="testform" method="post" action="pagedata">
<input type="text" name="firstname">
<input type="text" name="age">
<input type="text" name="city">
</form>

その後、データは正常に表示されます...しかし、今はpostメソッドをgetメソッドに変更する必要があります。

get メソッドでフォームを送信すると、URL は次のようになります。 http://example.com/pagedata.php?firstname=test&age=26&city=somecity

ただし、上記の URL を http://example.com/pagedata/test/26/somecityのように変換する必要があります。

これを行う方法..?提案してください。

4

2 に答える 2

0

追加のルールがあります:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(pagedata)\.php\?firstname=([^&]*)&age=([^&]*)&city=([^\s&]*) [NC]
RewriteRule ^ /%1/%2/%3/%4? [R=301,L]

RewriteRule ^(pagedata)/([^/]*)/([^/]*)/([^/]*)/?$ /$1.php?firstname=$2&age=$3&city=$4 [QSA,NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
</IfModule>

推奨される読み物: Apache mod_rewrite の紹介

于 2013-10-16T09:07:02.030 に答える
0

mod_rewrite を使用してわかりやすい URL を作成する

これは、たとえば、www.site.ru/product/123 の www.site.ru/product.php?id=123 を次のように変換するのに役立ちます。

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]
于 2013-10-16T10:52:51.177 に答える