2016-04-03 56 views
1

當瀏覽網站過去,我總是假設這個例子: http://example.com/folder/page/something-random東西隨機是一個實際的文件夾,並在page.php區域中創建。動態url變量是PHP的一個東西嗎?

但是最近我已經進入框架並進入.htaccess並注意到這些事情不一定要用框架完成,並且想知道它是如何工作的?

是否在.htaccess中做了一些類型的編輯,使/something-random成爲GET php變量?

如果問題有點混亂,我表示歉意。

+0

我想你在談論「子彈」,你可以在這裏閱讀一個很好的解釋是:http:/ /stackoverflow.com/a/19335586/3779933 – Michael

+0

是的,您必須將'RewriteEngine On'並在'.htaccess'文件中定義'RewriteUrl'您的規則''並在PHP中實現一些邏輯。 – cezar

回答

2

你不需要創建url的文件夾看起來很漂亮。如果你有動態網址,我會建議對URL使用的.htaccess重寫規則它將使URL看起來好像它的又一個路徑的一個變量

.htaccess對於實施了漂亮的URL有用。他們是有用的,他們總是可以幫助你提高搜索引擎頁面排名,他們也是用戶友好的。它有助於使瀏覽器地址欄上的URL看起來整齊,而不一定必須是實際的文件夾。

一個例子

原始地址。

http://flickr.com/users.php?id=username&page=2 

重寫友好的URL。

http://flickr.com/username/2 

.htaccess文件中你會有這樣的事情它的出現

.htaccess文件

//First Parameer 
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?user=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?user=$1 

//Second Parameter 
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ users.php?user=$1&page=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ users.php?user=$1&page=$2 

爲了捕捉在PHP中的變量,你可以有類似

php文件

<?php 

$key=$_GET['key']; 

if($key=='home') 
{ 
include('home.php'); // Home page 
} 
else if($key=='login') 
{ 
include('login.php'); // Login page 
} 
else if($key=='terms') 
{ 
include('terms.php'); // Terms page 
} 
else 
{ 
include('users.php'); // Users Gateway 
} 
?> 

你可以瞭解你的.htaccess谷歌的用處是使用例如我參考pretty url on 9lessons