下面是我的PHP代码(qs.php)。此文件包含url链接。使用SLUG创建的漂亮链接。
<html>
<head></head>
<body>
<?php
function create_slug($string){
$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
$slug = strtolower($slug);
return $slug;
}
$slugurl= create_slug('SLUG-text-testing-purpose-only');
$file = 'qs1'; //this is a php file qs1.php
$id = '12345678'; //testing ID
$complete_url = $file."/".$id."/".$slugurl;
?>
<a href ="<?php echo $full;?>"> This is a test link created by slug</a>
</body></html>
上面的链接显示如下 - http://localhost/qs/qs1/12345678/slug-text-testing-purpose-only
修改
QS是放置所有文件的目录。 QS1是一个php文件(qs1.php)
我想从上面的链接12345678 & slug-text-testing-purpose-only
获取两个变量。
因为qs1.php是我从$_GET['var1'] & $_GET['var2'];
我知道可以通过.htaccess
来实现。我尝试了多种选择,但他们没有工作,因为我得到了404。
.htaccess文件放在QS目录中。
以下是我尝试的选项。
RewriteEngine On
RewriteRule ^qs/([0-9]+)/([^/]+)$ qs1.php?var1=$1&var2=$2 [L]
RewriteRule ^/([^/]*)/([^/]*)$ /qs1.php?var1=$1&var2=$2 [L]
RewriteRule ^qs/([^/]+)/([^/]+)/?$ /qs1.php?var1=$1&var2=$2 [QSA,L]
RewriteRule /qs/(\d+)/(.*) qs1.php?id=$1&slug=$2 [QSA,L]
我是htaccess和url重定向的新手。
请告知。
由于
答案 0 :(得分:2)
您可以将此代码放在/qs/.htaccess
RewriteEngine On
RewriteBase /qs/
RewriteRule ^([^/]+)/(\d+)/([^/]+)$ $1.php?var1=$2&var2=$3 [NC,L]
现在,您可以转到http://localhost/qs/qs1/12345678/slug-text-testing-purpose-only
,并获得与/qs/qs1.php?var1=12345678&var2=slug-text-testing-purpose-only
相同的内容
答案 1 :(得分:0)
RewriteEngine On
RewriteRule ^qs/qs1/(\d+)/(.+)$ qs1.php?var1=$1&var2=$2 [NC,L]
您可以在此处播放:http://htaccess.madewithlove.be