0
因此,在我的本地開發服務器上使用新的apache版本時,此功能完美無瑕。我搬到它交給一個活的服務器,以下規格:htaccess不能正確重定向
- 的CentOS 6.2 LAMP(64)
- PHP版本5.4.30
- 的Apache/2.2.15
的問題
從我能告訴的大部分PHP函數都因此而中斷 - 頁面顯示不正確,內容無法加載。
然而,直接規則應該重定向到的index.php?p=xxx
的變體,而是它保持爲mydomain.com/index.html
然而內容並實際顯示(部分地)。因此,採取遠
編輯的httpd.conf
步驟 - specfically <Directory "/var/www/html">
,改變AllowOverride None
到AllowOverride All
我這樣做之前,它不會顯示在頁面上的任何內容,這樣做後,它的顯示內容但網址沒有正確重定向。
的.htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule main.html$ index.php
RewriteRule login.html$ index.php?p=login
RewriteRule logout.html$ index.php?logout=true
RewriteRule add-user.html$ index.php?p=add_user
RewriteRule users-list.html$ index.php?p=users_list
RewriteRule users-list-([0-9]+).html$ index.php?p=users_list&page=$1
RewriteRule users-list-delete-([0-9]+).html$ index.php?p=users_list&delete=$1
RewriteRule edit-user-([0-9]+).html$ index.php?p=profile&id=$1
RewriteRule profile.html$ index.php?p=profile
RewriteRule sites-list.html$ index.php?p=sites_list
RewriteRule sites-list-([0-9]+).html$ index.php?p=sites_list&page=$1
RewriteRule sites-list-delete-([0-9]+).html$ index.php?p=sites_list&delete=$1
RewriteRule sites.html$ index.php?p=sites
RewriteRule edit-site-([0-9]+).html$ index.php?p=sites&id=$1
RewriteRule share-([0-9]+).html$ index.php?p=share&id=$1
RewriteRule share-([0-9]+)-delete-([0-9]+).html$ index.php?p=share&id=$1&del_id=$2
RewriteRule statistics.html$ index.php?p=home
RewriteRule configuration.html$ index.php?p=config
RewriteRule (.*)-site-([0-9]+).html$ index.php?p=site_inner&id=$2
編輯
我加[R=301,L]
到每一行的結束,現在如果你需要一個規則,以阻止重定向到
mydomain.com/var/www/html/index.php?logout=true
我在每行的末尾添加了[L], - 啓動了一個巨大的重定向循環。 - 然後我將它添加到最後一行的末尾,沒有改變。 –
另請參閱我的編輯 –