2017-03-05 20 views
0

我要尋找一個解決方案,從我的網址的.htaccess隱藏PHP PARAM鍵,但不改變物理路徑

例如/page1.php?city=Lahore

隱藏PARAM鍵我想它改寫爲/第1頁/拉合爾

但最重要的是拉合爾不是目錄存在服務器上,我希望它指向同一個文件只是page1.php中重寫URL外部

感謝

+0

我有這個解決方案做的工作#RewriteCond%{THE_REQUEST} /(?:page1\.php)?\city=([^\s&]+)[NC] #RewriteRule^/page1.php/%1? [R = 302,L,NE] 但它嘗試加載實際上不存在的目錄Lahore –

回答

1

創建從根.htaccess文件並粘貼此代碼

RewriteCond %{HTTP_HOST} ^(.*)$ [NC] 
RewriteRule ^page1/(.*)? /page1.php?city=$1 [L] 

,或者你也可以把它放在你的網站的Apache的conf文件。

+0

,但這將在「page1」上具體說明它不是通用的.. 如果您有「page1」,「page2」.. etc ... 你可以寫^頁(\ d)+ /(。*)? /page$1.php?city=$2 [L] –

+0

以及您剛分享的代碼無法正常工作, 目前代碼正在爲我工​​作的是 –

+0

RewriteCond%{THE_REQUEST} /(?: page1 \ .php)?\? city =([^ \ s&] +)\ s [NC] RewriteRule^/m/en/page1.php/%1? [R = 302,L,NE] –

0

嘗試.htaccess文件的代碼

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /projectfoldername/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^page1/(.+?)/?$ /projectfoldername/page1.php?key=$1 [L,QSA] 

代碼page1.php中會

<?php 
echo $_REQUEST['key']; 
?> 

然後調用 http://localhost/projectfoldername/page1/1947

輸出將是:1947年