使用多个参数清除 URL
Clean URL with multiple parameters
我正在使用 .htaccess 文件来实现干净的 url,但问题是,我无法获得第二个参数。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=
RewriteRule ^\/(searedness)([0-9]+)(.*)-gu([0-9]+)\/(.*)$ ?searedness=&%{QUERY_STRING}[L]
</IfModule>
如果我像这样添加第二个参数
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=&location=
然后,页面转到 404
http://example.com/delhi/noida --> returns 404
http://example.com/delhi/ --> 仅适用于以下规则
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=
您可以将此规则用于 :city/location/speciality
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)(?:/([^/]+)(?:/([^/]+))?)?/?$ page.php?city=&location=&speciality= [L,QSA]
这条规则将支持所有这些 URIL:
example.com/delhi
example.com/delhi/noida
example.com/delhi/noida/dentist
我正在使用 .htaccess 文件来实现干净的 url,但问题是,我无法获得第二个参数。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=
RewriteRule ^\/(searedness)([0-9]+)(.*)-gu([0-9]+)\/(.*)$ ?searedness=&%{QUERY_STRING}[L]
</IfModule>
如果我像这样添加第二个参数
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=&location=
然后,页面转到 404
http://example.com/delhi/noida --> returns 404
http://example.com/delhi/ --> 仅适用于以下规则
RewriteRule ^([a-zA-Z0-9]+)$ result-by-city.php?city=
您可以将此规则用于 :city/location/speciality
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)(?:/([^/]+)(?:/([^/]+))?)?/?$ page.php?city=&location=&speciality= [L,QSA]
这条规则将支持所有这些 URIL:
example.com/delhi
example.com/delhi/noida
example.com/delhi/noida/dentist