2014-01-07 164 views
1

我有一個問題。我花了最近2個小時在論壇上搜索,我還沒有找到答案,爲什麼我的htaccess配置不能正常工作。.htaccess搜索引擎優化的友好網址不起作用

這裏是我的.htaccess:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.myserver.com/$1 [R] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^block/([a-zA-Z0-9]+)/$ block.php?id=$1 [L] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^tx/([a-zA-Z0-9]+)/$ tx.php?id=$1 [L] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^address/([a-zA-Z0-9]+)/$ address.php?id=$1 [L] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^block/([a-zA-Z0-9]+)$ block.php?id=$1 [L] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^tx/([a-zA-Z0-9]+)$ tx.php?id=$1 [L] 
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^address/([a-zA-Z0-9]+)$ address.php?id=$1 [L] 

的RewriteEngine敘述正常工作,我可以證實,當啓動的http:... myserver.com它被重定向到https:... myserver.com。

但是,我的SEO友好的URL只是不工作。 當啓動https://myserver.com/block/12345我只在我的error.log中得到一個錯誤信息:

[Tue Jan 07 22:08:07 2014] [error] [client 77.186.33.111] File does not exist: /var/www/block 

所以,很顯然它沒有改寫任何東西。

我會很感激任何幫助,我必須做一些實質性的錯誤,但爲了上帝的緣故,我無法弄清楚自己。

感謝

回答

0

你得到404因爲RewriteRule預計尾隨斜線,但你的URI沒有之一。

本替換你的代碼,然後再試一次:

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://www.myserver.com/$1 [R,L,NE] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?id=$2 [L,QSA] 
+0

您好,感謝您的回答。不幸的是,也只是https重定向的作品。其餘的,同樣的錯誤 '[Wed Jan 08 21:23:57 2014] [error] [client 77.12.44.45]文件不存在:/ var/www/block,referer:https:// xxxxxx。 com/monitor.php' – user3170842

+0

我做了一個編輯,現在可以試試了。我相信你正在用'https:// myserver.com/block/12345' URL進行測試。 – anubhava

相關問題