如何使用.htaccess制作多个seo网址?

时间:2016-10-21 11:07:05

标签: php .htaccess mod-rewrite seo

在索引页面中,我的表格如下:

<form id="formname" class="form-inline" role="form" method="get" action="<?php echo htmlspecialchars(SITE_URL.'location'); ?>">
</form>

在这个页面中,我有以下js脚本:

$("#formname").submit(function(event) {
    event.preventDefault();
    var loc = $("#basic option:selected").text();
    window.location.href = url+ loc;
});

提交此表单后,网址如下所示:

  

http://localhost/freelancer/chef/california

从此页面:我点击此网址:menu-details?mid=2

我希望这个网址应该是

  

http://localhost/freelancer/chef/california/2/menuname

在此页面中,我点击此网址:booking页面(这是booking.php页面)

在此页面中,我使用$_POST方法获取表单名称和值,但我希望网址应如下所示:(然后我将使用$_GET方法) `

  

http://localhost/freelancer/chef/california/2/menuname/booking

目前我正在使用以下.htaccess规则,但它仅适用于第一个网址,而不是我想要的所有网址。

的.htaccess

ErrorDocument 404 /freelancer/chef/not-found.php
ErrorDocument 500 /freelancer/chef/not-found.php
RewriteEngine On        

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z0-9_-]+)$ city.php?city=$1    [NC,L] 

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

已更新:

ErrorDocument 404 /freelancer/chef/not-found.php
ErrorDocument 500 /freelancer/chef/not-found.php
RewriteEngine On        

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z0-9_-]+)/?$ city.php?city=$1    [NC,L] 
#RewriteRule ^([A-Za-z0-9_-]+)/([\d]+)/([A-Za-z0-9_-]+)$ menu-details?mid=$2 [NC,L] 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ menu-details.php?city=$1&mid=$2&title=$3
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

1 个答案:

答案 0 :(得分:0)

请添加此行:

RewriteRule ^([A-Za-z0-9_-]+)/([\d]+)/([A-Za-z0-9_-]+)$ menu-details?mid=$2    [NC,L]