我接受一個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