重写共享URL以充当实际URL

时间:2014-08-04 17:10:39

标签: .htaccess mod-rewrite

您好我一直在努力让我的共享SSL网址与我的网站一起使用,因此我可以使用共享SSL证书,但我无法找到正确的信息,如果有人能指出我正确的方向,我将不胜感激

我相信我将www.example.com内部重定向到名为" public"和shared.ssl-example-url.com/example.com/是我需要重定向到名为" public"的同一文件夹的共享SSL URL。但目前它只是在访问任何比root更深的页面时产生404

这是我的.htaccess文件

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.co.uk$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

</IfModule>

我应该提一下我有一个自定义的mvc网站。

1 个答案:

答案 0 :(得分:0)

我现在找到了答案,我在试图找到如何使网站目录独立时找到了答案。在我的情况下,我必须在我的网站的根目录(/ html_public /)中修改我的.htaccess文件,如下所示

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.example\.co\.uk$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example\.co\.uk$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^shared\.ssl-example-url\.com$ [NC]
RewriteRule ^(.*)$ /example.com/public/$1 [L]

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ /public/$1 [L]

</IfModule>

然后在名为“public”的文件夹中,我不得不用其中的一些代码创建另一个.htaccess文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
RewriteRule ^.*$ %2index.php [QSA,L]
</IfModule>

我以为我会添加第二位代码,因为它是高级重写的好资源

http://www.zeilenwechsel.de/it/articles/8/Using-mod_rewrite-in-.htaccess-files-without-knowing-the-RewriteBase.html