php - 使用 Apache 在 PHP 上创建一个带有 2 个参数的友好 URL

标签 php regex apache .htaccess seo

所以我有点困惑。

我需要制作一个友好的 URL。

这是我输入搜索值 project_name 和 version 的 URL

localhost:8080/demo_webpages_project/retrieval.html

这是我提交值的地方

localhost:8080/demo_webpages_project/download.php?project_name=QT&version=3.1.2

我想要以下形式的 URL

localhost:8080/demo_webpages_project/download/QT/3.1.2

我尝试使用 .htaccess 执行此操作,但没有真正找到解决方案

以下是 .htaccess 文件的代码。

<IfModule mod_rewrite.c>
#Turn the engine on
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#attempt1
#RewriteRule ^(.*)/$ download.php?project_name=$1&version=$1
#RewriteRule ^/(.*)$ download.php?version=$1

#attempt2
#RewriteRule ^(.*)/(.*)$ download.php?project_name=$1&version=$2 [L,NC,QSA]
#RewriteRule ^(.*)$ download.php?version=$1

</IfModule>

如果有人能帮我解决这个问题,我将不胜感激。这是我第一次从事这方面的工作并且迷路了。

谢谢

最佳答案

/demo_webpages_project/ 中有这个 .htaccess:

Options -MultiViews
RewriteEngine on
RewriteBase /demo_webpages_project/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ download.php?project_name=$1&version=$2 [L,QSA]

关于php - 使用 Apache 在 PHP 上创建一个带有 2 个参数的友好 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39623536/

相关文章:

php - Laravel Homestead Swift 无法在没有发件人地址的情况下发送消息

regex - 多个值的正则表达式负回顾

c# - 使用正则表达式在字符串中查找具有多个换行符的子字符串

javascript - 如何将其拆分为新日期

apache - 如何阻止 Chrome 重定向到 HTTPS?

python - 无法解决 Flask 设置中的 mod_wsgi 异常

php - 在 JavaScript 警报/确认框中发送 PHP 变量

php - 如何在样式表中设置图像 URL

php - 调整图像大小并在不保存的情况下显示

java - 使用 apache -common-validator 时出错 --java.lang.NoClassDefFoundError : org/apache/commons/digester/Rule