htaccess的作品本地服务器上没有主服务器上 [英] .htaccess works on local server not on main server
本文介绍了htaccess的作品本地服务器上没有主服务器上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的.htaccess文件工作的本地MAMP服务器的罚款。然而,当我把它上传到主服务器时,它无法找到的新闻网页。
RewriteEngine叙述上
的RewriteBase /
的RewriteCond%{THE_REQUEST} \ S / +新闻\ .PHP \ news_id =([^ \ S&安培] +)?[NC]
重写规则^ /新闻/%1? [R = 301,L]
的RewriteCond%{} THE_REQUEST \s/+Category\.php\?pageNum_RS_Search=([^\s&]+)&totalRows_RS_Search=([^\s&]+)&Category=([^\s&]+) [NC]
重写规则^ /比较/%1/2%/ 3%? [R = 301,L]
的RewriteCond%{THE_REQUEST} \ S / +分类\ .PHP \类别=([^ \ S&安培] +)?[NC]
重写规则^ /比较/%1? [R = 301,L]
的RewriteCond%{THE_REQUEST} \ S / +产品\ .PHP \ ID =([^ \ S&安培] +)?[NC]
重写规则^%1? [R = 301,L]
的RewriteCond%{} REQUEST_FILENAME!-d
的RewriteCond%{} REQUEST_FILENAME!-f
重写规则^([^ /] +)?$ product.php?ID = $ 1 [L,QSA]
的RewriteCond%{} REQUEST_FILENAME!-d
的RewriteCond%{} REQUEST_FILENAME!-f
重写规则^比较/([^ /] +)/ $ Category.php?类别= $ 1 [L,QSA]
的RewriteCond%{} REQUEST_FILENAME!-d
的RewriteCond%{} REQUEST_FILENAME!-f
重写规则^比较/([^ /] +)/([^ /] +)/([^ /] +)/ $ Category.php pageNum_RS_Search = $ 1和;?2 totalRows_RS_Search = $&安培;类别= $ 3 [L, QSA]
的RewriteCond%{} REQUEST_FILENAME!-d
的RewriteCond%{} REQUEST_FILENAME!-f
重写规则^新闻/([^ /] +)/ $ news.php?news_id = $ 1 [L,QSA]
该类别和产品重定向做工精细的主服务器上,不过消息并没有给出一个404错误
其他重写规则上一级
RewriteEngine叙述上
的RewriteCond%{HTTP_HOST} ^ www.mysite1.co.uk $ [OR]
的RewriteCond%{HTTP_HOST} ^ mysite1.co.uk $
(。*)重写规则^ $HTTP \:\ / \ / mysite的\ .CO \ .UK \ / $ 1[R = 301,L]#5311a623b538f
的RewriteCond%{HTTP_HOST} ^ www.mysite.co.uk $ [OR]
的RewriteCond%{HTTP_HOST} ^ mysite.co.uk $
重写规则^ Pianoshop \ / detailed_page \ .PHP $(*)的http \:\ / \ / mysite的\ .CO \ .UK \ /产品\的.php $ 1[R = 301,L]#5310700a7e477
的RewriteCond%{HTTP_HOST} ^ www.mysite.co.uk $ [OR]
的RewriteCond%{HTTP_HOST} ^ mysite.co.uk $
重写规则^ Pianoshop \ / index_blog \的.php $HTTP \:\ / \ / mysite的\ .CO \ .UK \ /新闻\ .PHP $ 1(*)[R = 301,L]#531
解决方案
我怀疑这是发生由于多视图
你以`mod_rewrite的冲突现场服务器上启用选项。
添加此行对你的.htaccess的顶部来禁用它:
选项-MultiViews
I have the following .htaccess file working on the local MAMP server fine. However when I upload it to the main server it can't find the news page.
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \s/+news\.php\?news_id=([^\s&]+) [NC]
RewriteRule ^ /news/%1? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+Category\.php\?pageNum_RS_Search=([^\s&]+)&totalRows_RS_Search=([^\s&]+)&Category=([^\s&]+) [NC]
RewriteRule ^ /Compare/%1/%2/%3? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+Category\.php\?Category=([^\s&]+) [NC]
RewriteRule ^ /Compare/%1? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+product\.php\?id=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?$ product.php?id=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Compare/([^/]+)/?$ Category.php?Category=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Compare/([^/]+)/([^/]+)/([^/]+)/?$ Category.php?pageNum_RS_Search=$1&totalRows_RS_Search=$2&Category=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^news/([^/]+)/?$ news.php?news_id=$1 [L,QSA]
The Category and product redirects work fine on the main server however the news doesn't gives a 404 error
other rewrite rules one level higher
rewriteengine on
rewritecond %{HTTP_HOST} ^www.mysite1.co.uk$ [OR]
rewritecond %{HTTP_HOST} ^mysite1.co.uk$
rewriterule ^(.*)$ "http\:\/\/mysite\.co\.uk\/$1" [R=301,L] #5311a623b538f
rewritecond %{HTTP_HOST} ^www.mysite.co.uk$ [OR]
rewritecond %{HTTP_HOST} ^mysite.co.uk$
rewriterule ^Pianoshop\/detailed_page\.php(.*)$ "http\:\/\/mysite\.co\.uk\/product\.php$1" [R=301,L] #5310700a7e477
rewritecond %{HTTP_HOST} ^www.mysite.co.uk$ [OR]
rewritecond %{HTTP_HOST} ^mysite.co.uk$
rewriterule ^Pianoshop\/index_blog\.php(.*)$ "http\:\/\/mysite\.co\.uk\/news\.php$1" [R=301,L] #531
解决方案
I suspect this is happening due to MultiViews
option enabled on your live server which conflicts with `mod_rewrite.
Add this line on top of your .htaccess to disable it:
Options -MultiViews
这篇关于htaccess的作品本地服务器上没有主服务器上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文