我接受一个URL,如下列:重写URL规则
http://www.random.com/film/1
我需要这个做的是将其发送到server.php
在基本目录,然后/
爆炸的地址,并使用该薄膜和1作为变量。
我该如何做到这一点?
目前,该链接表示不存在页面!
我接受一个URL,如下列:重写URL规则
http://www.random.com/film/1
我需要这个做的是将其发送到server.php
在基本目录,然后/
爆炸的地址,并使用该薄膜和1作为变量。
我该如何做到这一点?
目前,该链接表示不存在页面!
因为我已经打开了,请为apache创建一个.htaccess
文件,如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?(.*)$ server.php?1=$1&2=$2&3=$3&4=$4 [NC,QSA,L]
</IfModule>
从我的基础上,意见第一个答案严重修改,所以总结一下,现在在这里将可在PHP什么: /api-v1/v1/film/1
会给你以下$_GET
:
Array
(
[1] => api-v1
[2] => v1
[3] => film
[4] => 1
)
第四个参数在这种情况下1
是可选的,忽略它并使用/api-v1/v1/film
或/api-v1/v1/film/
会给你:
Array
(
[1] => api-v1
[2] => v1
[3] => film
[4] =>
)
你应该看.htaccess
文件这种重定向,而不是其他物品的相当多的重复:
在.htaccess
文件:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)$ server.php?$1=$2 [L]
RewriteRule ^([^/]+)$ server.php?$1 [L]
在server.php
:
$parameterName = 'film';
$parameterValue = isset($_GET[$parameterName]) ? $_GET[$parameterName] : NULL;
if (!is_null($parameterValue)) {
echo "Parameter found";
} else {
echo "Parameter not found";
}
与PHP无关;取决于你的服务器。如果您使用Apache,请查看'.htaccess'文件。过去在这个网站上已经提出了很多类似的问题。 – Dave
好吧,这是关于服务器,但我不知道哪里可以开始! – sark9012
你提到的重复没有解释它我想如何。当我输入上面的URL时,如何通过转到server.php来解决它,然后让电影和1可用?我只需要2个参数。那另一个问题只使用1? – sark9012