GoDaddy .htaccess用于子域

恐惧加尼古斯

我一直在开发一个网站,但是我对子域的.htaccess似乎运行不正常。

我的子域中的.htaccess文件。

DirectoryIndex index.php
Options -MultiViews

RewriteEngine on

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+home\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ home.php?page=$1 [L,QSA]

当我进入子域时,可以找到index.php,但是当我进入home.php或/ home等时,它似乎不起作用,并重定向到我的404页(已在我的根目录中定义) 。

我的根目录.htaccess文件:

Options -MultiViews

RewriteEngine on

ErrorDocument 404 http://example.ca/error?id=404
ErrorDocument 403 http://example.ca/error?id=403
ErrorDocument 500 http://example.ca/error?id=500

RewriteCond %{http_host} ^www\.james-emerson\.ca [NC]
RewriteRule ^(.*)$ http://james-emerson.ca/$1 [R=301,NC]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

RewriteRule ^home$ index.php

我的根看起来像:

/
 - content/
 - include/
 - sites/
   - external/
     - sbfg/ (subdomains subdirectory)
       - content/
       - include/
       - .htaccess
       - index.php
       - home.php
     - ...etc...

 - .htaccess
 - index.php
 - ...etc...

如果可以的话,我将不胜感激。提前致谢。

恐惧加尼古斯

在@anubhava的帮助下,我自己找出了解决问题的方法。

@anubhava给我的.htaccess文件:

DirectoryIndex index.php
Options -MultiViews

RewriteEngine on

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /sbfg//home\.php\?page=([^\s&]*)[&\s] [NC]
RewriteRule ^ /sbfg/%1? [R=302,L]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /sbfg/home.php?page=$1 [L,QSA]

不能正常工作,因为我的服务器要转到urlsites/external/sbfg/sbfg/home.php而不是sites/home/sbfg/home.php直到我从根.htaccess文件中删除404文档代码,我才注意到错误。

然后我将代码更新为:

DirectoryIndex index.php
Options -MultiViews

RewriteEngine on

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /home\.php\?page=([^\s&]*)[&\s] [NC]
RewriteRule ^ /%1? [R=302,L]

# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /home.php?page=$1 [L,QSA]

然后将一些代码添加到我的根目录.htaccess文件中:

Options -MultiViews

ErrorDocument 404 http://james-emerson.ca/error?id=404
ErrorDocument 403 http://james-emerson.ca/error?id=403
ErrorDocument 500 http://james-emerson.ca/error?id=500

RewriteEngine on

RewriteCond %{http_host} ^www\.james-emerson\.ca [NC]
RewriteRule ^(.*)$ http://james-emerson.ca/$1 [R=301,NC]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php
RewriteRule ^home$ index.php

# .htaccess file for the sbfg/home.php?page= code.
RewriteEngine on

RewriteCond %{THE_REQUEST} /home\.php\?page=([^\s&]*)[&\s] [NC]
RewriteRule ^ %1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ home.php?page=$1 [L,QSA]

现在它可以正常工作了。感谢大家对我的帮助,不知道为什么以前会遇到这些问题!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

来自Godaddy的子域创建

来自分类Dev

godaddy子文件夹域htaccess重定向,无需更改浏览器url

来自分类Dev

使用PHP在Godaddy托管中创建子域

来自分类Dev

AWS Route53和GoDaddy:子域

来自分类Dev

Godaddy最终共享主机的外部域

来自分类Dev

将GitLab页面与GoDaddy域连接

来自分类Dev

GCP上的GoDaddy域不安全

来自分类Dev

正确的JSON API请求Godaddy域购买

来自分类Dev

Azuure 应用服务和 GoDaddy 域

来自分类Dev

Codeigniter htaccess无法在Godaddy上运行吗?

来自分类Dev

.htaccess在GoDaddy上CodeIgniter的配置问题

来自分类Dev

url 重写 htaccess Godaddy 或 000webhost

来自分类Dev

带有Heroku和Godaddy的Flask子域(SERVER_NAME问题)

来自分类Dev

从GoDaddy创建一个子域并指向GCP实例

来自分类常见问题

将EC2实例指向GoDaddy域

来自分类Dev

将EC2实例指向GoDaddy域

来自分类Dev

如何使用FIrebase托管应用程序映射Godaddy域

来自分类Dev

使用GoDaddy的域在AppHarbour上托管实时项目

来自分类Dev

如何在OpenShift托管中使用裸GoDaddy域?

来自分类Dev

Heroku和Godaddy上的裸域配置错误

来自分类Dev

我如何为从Godaddy购买的域和Rout53中托管的DNS设置通配符子域

来自分类Dev

htaccess URL重定向在Godaddy中不起作用

来自分类Dev

GoDaddy的Godaddy的ssl证书

来自分类Dev

GoDaddy SSL证书不适用于Java

来自分类Dev

将GoDaddy子域转发到同一服务器上的其他端口(反向代理)

来自分类Dev

.htaccess文件中的子域仅适用于索引

来自分类Dev

.htaccess文件用于多个控制页面和通配符子域

来自分类Dev

子域重写.htaccess

来自分类Dev

.htaccess重写子域