我对.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方法提交表单,则URL如下, http://example.com/pagedata.php?firstname=test&age=26&city=somecity
但我需要转换上面的URL如下, http://example.com/pagedata/test/26/somecity
怎么做...?请建议。
答案 0 :(得分: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>
答案 1 :(得分:0)
使用mod_rewrite
创建人性化的URL这可以帮助您通过以下方式转换www.site.ru/product.php?id=123 www.site.ru/product/123:
RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]