2014-12-30 69 views
0

刷新後,我有我的htaccess的設置,通過一個變量的所有路徑重定向稱爲頁htaccess的重寫參數時,頁面會話超時

RewriteRule ^(.+)$ /?pages=$1 [L] 

這工作得很好,如果你去此網址www。 mydomain.com/path/to/file我得到所需的變量頁=「路徑/到/文件」的結果。

我無法精確地確定問題何時發生(但它似乎是會話超時,如果刷新時沒有空閒就不會發生),然後刷新頁面地址欄讀取www.mydomain。 COM?頁=路徑/到/文件。

該網頁仍然有效,但它提供了一個醜陋的URL。這是正常的嗎?有什麼可以做的,以阻止這種情況的發生?

謝謝。

以下是完整的htaccess的:

### HABARI START 
RewriteEngine On 

### turn off directory browsing 
Options -Indexes 

## redirect to www 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 

## map any path that is not an actual folder to the pages param 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Rewrite everything else through the pages parameter 
RewriteRule ^(.+)$ /?pages=$1 [L] 

### HABARI END 
+0

你能證明你完全的.htaccess? – anubhava

+0

如何爲鏈接和重定向生成網址?它到處使用嗎? – Marek

+0

網址總是以/ path/to/file格式生成。 –

回答

1

權下的WWW重定向規則,補充一點:

RewriteCond %{THE_REQUEST} \ /+(?:index\.php|)\?pages=([^&\ ]+) 
RewriteRule^/%1? [L,R] 
+0

逐字?什麼是{THE_REQUEST}? –

+1

@DavidStetler是,[%{THE_REQUEST}](http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond)是HTTP請求的第一行,例如:'GET /嗒嗒? param = var HTTP/1.1' –

+0

是有意義的。謝謝! –