2016-09-21 175 views
1

正在使我的網站urls搜索引擎友好,併爲此使用GET參數重寫網址,所以我做了重寫,但現在htaccess並沒有指出該網址到PHP文件,這是假設處理網址htaccess重定向url到目錄文件

我的舊的URL

www.domain.com/foo/myfile.php?nid=554 

新的URL重寫用PHP

www.domain.com/foo/554-demo-page-title 

我目前的htaccess的規則,工作舊網址而不是新

Options +FollowSymLinks 
RewriteEngine On 
#RewriteCond %{SCRIPT_FILENAME} !-d 
#RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteBase/
RewriteRule ^([0-9]+)-(.*) ./foo/myfile.php?nid=$1 [NC] 

,所以我想,無論新舊網址登陸/foo/myfile.php監守myfile.php可以同時處理的URL櫃面舊的URL重寫它和重定向爲新的URL,我打了幾與htaccess的規則小時,但沒有成功

回答

1

您可以使用網站根目錄的.htaccess這個規則(假設有.htaccessfoo/目錄):

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteRule ^foo/(\d+)-.*$ foo/myfile.php [L,QSA,NC] 

如果你已經有/foo/.htaccess然後使用這個規則裏面FIL E:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /foo/ 

RewriteRule ^(\d+)-.*$ myfile.php [L,QSA] 
+0

不工作重定向到404頁 – user889030

+0

沒有沒有其他的htaccess規則...你的第一個htaccess的規則設置我加入到網站根目錄htaccess文件和你的第二htaccess的規則設置我加入到foo目錄htaccess的這我創建了新的, – user889030

+0

與舊的URL和垃圾添加到foo目錄.htaccess它扔500錯誤 – user889030