昨天我不小心取代了我们网站的htaccess文件并搞砸了几件事。我已经能够将该网站重新上线,但是,现在,my site在所有网站页面的URL中显示了服务器的文件夹结构。
所需:
http://gemdigitalagency.com/our-services
显示的内容:
https://gemdigitalagency.com/production/gemdigitalagency/our-services/
我想从网址中删除/ production / gemdigitalagency。
这是我对htaccess的拥有(在public_html中托管):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^gemdigitalagency\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gemdigitalagency.com/$1 [R,L]
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?gemdigitalagency.com$
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /production/gemdigitalagency/$1 [L]
RewriteCond %{HTTP_HOST} ^(www.)?gemdigitalagency.com$
RewriteRule ^(/)?$ production/gemdigitalagency/index.html [L]
ErrorDocument 400 /404.html
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
Options -Indexes
有谁能请我指出正确的方向? 谢谢!
答案 0 :(得分:1)
我们最终删除了一些内容,并在网站上的服务器上添加了一个htaccess文件夹内容。
public_html文件夹中的htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^gemdigitalagency\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gemdigitalagency.com/$1 [R,L]
ErrorDocument 400 /404.html
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
Options -Indexes
htaccess在网站的文件夹中:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^gemdigitalagency\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gemdigitalagency\.com/$1 [R,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.gemdigitalagency\.com$ [NC]
RewriteRule ^(.*)$ https://gemdigitalagency\.com/$1 [R=301,L]
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
答案 1 :(得分:0)
这会将用户重定向到SSL安全网络http://...
到https://
RewriteEngine On
RewriteCond %{HTTP_HOST} ^gemdigitalagency\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gemdigitalagency.com/$1 [R,L]
这是你的主要问题
RewriteRule ^(.*)$ /production/gemdigitalagency/$1 [L]
RewriteRule ^(/)?$ production/gemdigitalagency/index.html [L]
告诉apache重写主机www.gemdigitalagency.com
上的所有内容或gemdigitalagency.com
(www是可选的)
RewriteCond %{HTTP_HOST} ^(www.)?gemdigitalagency.com$
使用URI中的更多内容
RewriteCond %{REQUEST_URI} !/$
这不是实际的文件名或目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
重写为/production/gemdigitalagency/$1
,其中$1
是主持人(https://gemdigitalagency.com/something?get_param=1)背后的任何内容,$1
为something?get_param=1
,例如
尝试将其更改为:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^gemdigitalagency\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://gemdigitalagency.com/$1 [R,L]
RewriteCond %{HTTP_HOST} ^(www.)?gemdigitalagency.com$
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1 [L]
RewriteCond %{HTTP_HOST} ^(www.)?gemdigitalagency.com$
RewriteRule ^(/)?$ /index.html [L]
ErrorDocument 400 /404.html
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
Options -Indexes