我遵循的许多问题都在stackoverflow中发布,但对我没有帮助,这就是为什么我要准确地根据自己的要求进行尝试。感谢您接受..
我从长期以来尝试,但直到现在我的问题还没有解决。问题是我试图将我的URL SEO友好,例如example.com/articles.php?id=''
到example.com/articles/my-first-article
,而SLUG则使用PHP生成并插入数据库中。
function php_slug($string){
$spl_char = '/[^-spNpL]+/u';
$double_char = '/[-s]+/';
$slug = preg_replace('/[^a-z0-9-]+/', '-', strtolower($string));
$slug = preg_replace($double_char, '-', $string);
$slug = trim($string, '-');
return $slug;
}
并包括在htaccess
中RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [L,QSA]
#RewriteCond %{REQUEST_FILENAME} !-1
#RewriteRule ^/?$ /1 [QSA]
RewriteRule ^article([a-zA-Z0-9-/]+)$ article.php?article_link=$1 [L,QSA]
RewriteRule ^article([a-zA-Z0-9-/]+)/ article.php?article_link=$1 [L,QSA]
并链接为
<a href="article/?article_link='<?php echo $article_link;?>'">BTN</a>
请,向上移动您的文章:
RewriteEngine On
RewriteRule ^article/(.*)$ article.php?article_link=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [L,QSA]
将您的HREF更改为Preety链接(重写应抓住它们):
<a href="article/<?php echo $article_link;?>">BTN</a>