Apache .htaccess MOD_重写整个站点
我有一个网站在www.domain/store下 我想摆脱商店使用MOD_重写整个网站 这是否可能与mod_重写有关 该网站是建立在Opencart上的 我尝试了下面的建议: 我收到了内部服务器错误,因此我查看了Apache错误日志,下面是错误:Apache .htaccess MOD_重写整个站点,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个网站在www.domain/store下 我想摆脱商店使用MOD_重写整个网站 这是否可能与mod_重写有关 该网站是建立在Opencart上的 我尝试了下面的建议: 我收到了内部服务器错误,因此我查看了Apache错误日志,下面是错误: [Sun Oct 23 03:02:09 2011] [error] [client 120.144.194.243] File does not exist: /home/favstayc/public_html/404.shtml [Sun Oct
[Sun Oct 23 03:02:09 2011] [error] [client 120.144.194.243] File does not exist: /home/favstayc/public_html/404.shtml
[Sun Oct 23 03:02:09 2011] [error] [client 120.144.194.243] File does not exist: /home/favstayc/public_html/favicon.ico
[Sun Oct 23 03:02:09 2011] [error] [client 120.144.194.243] client denied by server configuration: /home/favstayc/public_html/error_log
[Sun Oct 23 03:02:09 2011] [error] [client 120.144.194.243] client denied by server configuration: /home/favstayc/public_html/.htaccess
好的,我现在得到答案了。下面是答案
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.*)store
RewriteRule ^(.*)$ store/$1 [L]
非常简单,使用此模式,所有内容都会重定向到用户看不见的
/store/whatever
。因此,您的用户输入http://example.com/some-product
,Apache为用户服务http://example.com/store/some-product
RewriteEngine On
#RewriteCond %{REQUEST_URI} !^store.*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /store$1 [L,QSA]
我不想让商店出现在url上。可能吗?这条规则就是这么做的。除非添加[R]标志,否则它不会重定向用户的浏览器。@hybmg58检查Apache错误日志以查看错误是什么。另请参见上面添加的
RewriteCond
loop@hybmg58请参阅addition,它检查请求的项目是否为真实文件(即它存在于存储
目录中)。如果是这样的话,重写就不会发生,这样就不会出现循环。