Php 在以下情况下,如何使用mod_rewrite获得一个简短的唯一URL?

Php 在以下情况下,如何使用mod_rewrite获得一个简短的唯一URL?,php,mysql,apache,.htaccess,mod-rewrite,Php,Mysql,Apache,.htaccess,Mod Rewrite,我正在为一个类似pastebin的项目编码。每个代码段都应该可以通过每个人都可以访问的简短的唯一URL进行访问。例如,如果我创建了一个新的代码段,那么它将有一个关联的URL,如/2k3nan5。任何访问你的网站的人都应该看到这个片段 我为正在粘贴的每个片段创建一个随机字符串,例如2k3nan5。我将代码片段的代码(代码)、发布它的用户的用户名(用户名)和随机字符串(url)存储在数据库的代码片段表中 如何更改.htaccess以执行此操作?mod\u重写代码删除文件名 <IfModule

我正在为一个类似pastebin的项目编码。每个代码段都应该可以通过每个人都可以访问的简短的唯一URL进行访问。例如,如果我创建了一个新的代码段,那么它将有一个关联的URL,如/2k3nan5。任何访问你的网站的人都应该看到这个片段

我为正在粘贴的每个片段创建一个随机字符串,例如2k3nan5。我将代码片段的代码(代码)、发布它的用户的用户名(用户名)和随机字符串(url)存储在数据库的代码片段表中


如何更改.htaccess以执行此操作?

mod\u重写代码删除文件名

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ snippet.php?id=$1 [QSA,NC,L]

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ snippet.php [QSA,NC,L]

RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^(.*)$ snippet.php [QSA,NC,L]   
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-s
重写规则^(.*)$snippet.php?id=$1[QSA,NC,L]
RewriteCond%{REQUEST_FILENAME}-d
重写规则^(.*)$snippet.php[QSA,NC,L]
重写cond%{REQUEST_FILENAME}-s
重写规则^(.*)$snippet.php[QSA,NC,L]

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([a-zA-Z0-9]{7})/?$deltatask/snippet.php?url=$1[NC,L]

这帮助我将www.website.com/abcdefg改写为www.website.com/deltatask/snippet.php?url=abcdefg

您尝试了什么?如果您只需搜索htaccess和mod_rewrite,就会有很多这样的例子。您使用一个数据库,为每个新的此类URL生成“短代码”,一个简单的计数器就可以了,并将最终位置(URL)存储在数据库中的一个条目中。然后,在请求时,您可以在请求中获取提供的短代码,并可以从数据库中查询最终的目标URL。我会更新它作为一个答案。你能给我推荐一个好的网站来学习mod_rewrite,这样我就能理解你作为答案给出的代码吗?@BenedictFlorance-请阅读:。“要求我们推荐或查找书籍、工具、软件库、教程或其他非网站资源的问题因堆栈溢出而脱离主题,因为它们往往会吸引自以为是的答案和垃圾邮件。”-只需使用谷歌“php htaccess tutorial”@BenedictFlorence-参考usedSorry@Magnueriksson,论坛新成员,将遵循以下规则。谢谢Hothi Jimit。@HothiJimit如果我需要将yourwebsite.com/snippet.php表单的每个url都更改为yourwebsite.com/1n69ak2,我需要做什么
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]{7})/?$ deltatask/snippet.php?url=$1 [NC,L] 
</IfModule>