gpt4 book ai didi

.htaccess - htaccess mod 用斜杠将 $_GET 重写为变量

转载 作者:行者123 更新时间:2023-12-04 11:55:30 24 4
gpt4 key购买 nike

我想用 htaccess 重写 URL 以获得更好的可读 URL,并在 PHP 中使用 $_GET 变量
我有时会使用子域,因此它必须使用和不使用。 url 中也不需要变量。我在 URL 中最多使用 3 个变量

网址 sub.mydomain.com/page/a/1/b/2/c/3应该导致 sub.mydomain.com/page.php?a=1&b=2&c=3和网址 sub.mydomain.com/a/1/b/2/c/3应该导致 sub.mydomain.com/index.php?a=1&b=2&c=3哪里$_GET['a'] = 1
我在搜索并尝试了很多之后想出了这个

RewriteEngine on
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6&$7=$8 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5&$6=$7 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)$ $1.domain.com/$2.php [L,QSA,NC]

但我得到的是一个未找到的服务器错误

我不太擅长这个,所以也许我监督了一些事情。
我也希望它在末尾有斜线和没有斜线

我应该使用 RewriteCond 和/或设置一些选项吗?

提前致谢。

最佳答案

使用时 RewriteRule ,您不要在行中包含域名。另外,请确保先打开 RewriteEngine。像这样:

RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)$ index.php?$1=$2
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4&$5=$6

第一行会改写 sub.mydomain.com/a/1sub.mydomain.com/page.php?a=1 ,第二次重写 sub.mydomain.com/a/1/b/2sub.mydomain.com/page.php?a=1&b=2 , 等等。

关于.htaccess - htaccess mod 用斜杠将 $_GET 重写为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13513721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com