我正在尝试创建一个WordPress风格的URL系统,我可以让用户创建一个页面,自动创建它的“slug”版本。
我将使用index.php来查询数据库以使slug与页面匹配。
我曾尝试复制部分WordPress'.htaccess,但显示404错误。
我的网址格式类似于以下内容:
www.mysite.com/about
www.mysite.com/rentals/page1
我的.htaccess文件如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
一旦我解决了htaccess部分,我如何从URL中删除slug?我想,即使URL是干净的,它仍然可以通过index.php?page=[SLUG]
关于从哪里开始以及如何完成我正在寻找的任何想法?
答案 0 :(得分:1)
我正在使用以下内容......
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我使用$_SERVER['REDIRECT_URL']
获取路径/页面名称。
示例... index.php / about
$request = strip_tags(trim($_SERVER['REDIRECT_URL']));
$request = rtrim($request, "/"); // remove trailing slash
$pg = explode('/', $request);
$page = $pg['1'];
// SELECT FROM table WHERE page = $page;