0

我正在创建分类广告网站。

该网站具有按位置过滤的搜索功能。

目前我只是使用 php GET 函数通过 url 发送位置并在搜索数据库之前检索它。

我希望能够将该位置作为域的子文件夹出现。

如果不为每个位置上传物理子文件夹和 index.php 文件,这可能吗?

请就实现这一目标的最佳选择提出建议。

4

2 回答 2

0

是的,有可能。试试 apache mod_rewrite:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

打开它,然后在 .htaccess 文件中(必须与您的 index.php 相同的文件夹):

RewriteEngine on

RewriteBase / # or the subfolder where your index.php is inside the domain
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?location=$1

还有一个 index.php 的例子:

<?php 
   print $_GET['location']; 
?>

这可能会对您有所帮助。

于 2013-03-04T09:27:47.053 回答
0

谢谢你的帮助科夫格。

在接受您的回答并进行进一步研究后,我创建了一个完全符合我要求的 RewriteRule。

由于这些位置的结构具有多个级别(对于州、地区、城市、郊区等),所以我已经做到了,所以无论 URL 有多少子文件夹,返回只会是最终的子文件夹(没有尾部斜杠)。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*/)?(.*[^/])/?$ /index.php?location=$2
于 2013-03-05T07:29:13.537 回答