Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache .htaccess MOD_重写整个站点_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache .htaccess MOD_重写整个站点

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

我有一个网站在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 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,它检查请求的项目是否为真实文件(即它存在于
存储
目录中)。如果是这样的话,重写就不会发生,这样就不会出现循环。