doq8211 2016-10-20 06:16
浏览 18
已采纳

如何使用.htaccess创建用户友好的URL?

Here is the html form with select tag with option value :

<select class="form-control" id="basic" name="location" required>
<?php
$get_location = mysqli_query($conn, "SELECT * FROM product_sub_area");
if(mysqli_num_rows($get_location) == 0 ) {
    $choose = 'No City found';
} else {
    $choose = 'Choose City';
}
?>
<option value=""><?php echo $choose; ?></option>
<?php                                         
while($get_location_result = mysqli_fetch_array($get_location) ) {
    $location_id = (int) $get_location_result['psub_area_id'];
    $location_name = htmlspecialchars($get_location_result['psub_name']);
    echo "<option value='$location_name'>$location_name</option>";
}
?>                    
</select>

After submit this form, page url is showing like this :

http://localhost/freelancer/sitename/location?location=California

I want the url should look like this for every same type of url request. It could be multiple query string :

http://localhost/freelancer/sitename/location/California

I am using following .httaccess rules :

ErrorDocument 404 /not-found.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^([^/\.]+)/([^/\.]+)$ location.php?location=$1 [NC,L]  
  • 写回答

2条回答 默认 最新

  • duanguilin2007 2016-10-20 06:32
    关注

    Try this in sitename folder, what i observe from your requirement you are removing php extension and rewriting request to location parameter.

    ErrorDocument 404 not-found.php
    RewriteEngine On        
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^location/([\w-]+)$ location.php?location=$1 [QSA,NC,L]
    
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ $1.php [NC,L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么