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], - 启动了一个巨大的重定向循环。 - 然后我将它添加到最后一行的末尾,没有改变。 –
另请参阅我的编辑 –