【发布时间】:2015-07-28 14:15:08
【问题描述】:
下面是我的 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 重定向非常陌生。
请指教。
谢谢
【问题讨论】:
-
qs1/是目录吗?
-
不,它是一个 php 文件 qs1.php。
标签: php apache .htaccess mod-rewrite redirect