2016-02-13 75 views
1

我試圖改變http://www.mywebsite.com/en/admin/index?page=archived轉換查詢字符串的URL路徑

http://www.mywebsite.com/en/admin/page/archived/ 

我已經嘗試了一堆東西,包括:

RewriteCond %{QUERY_STRING} ^page=(.+)$  
RewriteRule ^(.*)$ http://%{HTTP_HOST}/en/admin/%1? [R=301,L] 

但我一直一404錯誤。

我的.htaccess是爲admin directory

的.htaccess:

RewriteEngine On 

# Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/en/admin/$1 [R=301,L] 

# Redirect external .php requests to extensionless url 
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ 
RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/en/admin/$1 [R=301,L] 

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 

RewriteCond %{THE_REQUEST} /index\?page=(.+?) [NC] 
RewriteRule ^index$ /en/admin/page/%1? [NC,L,R] 
RewriteRule ^page/([^/.]+)/?$ /en/admin/index?page=$1 [NC,L] 
+0

請問您要的目標網址重定向存在? – starkeen

+0

不,因爲我想只將查詢字符串轉換爲路徑url ...這可能嗎? – Laurent

回答

1

您可以使用下面的代碼的admin /的.htaccess:

RewriteEngine On 
RewriteCond %{THE_REQUEST} /index\?page=([^\s]+) [NC] 
RewriteRule^/en/admin/page/%1? [NC,L,R] 
RewriteRule ^page/([^/.]+)/?$ /en/admin/index?page=$1 [NC,L] 
+0

感謝您的支持,但我仍然在我的網址瀏覽器中登錄http://my.mywebsite.com/en/admin/index?page= archived' – Laurent

+0

@Laurent嘗試清除瀏覽器的緩存 – starkeen

+1

完美無缺!非常感謝您對Starkeen的支持! – Laurent