【问题标题】:RewriteRule won´t work with new domainRewriteRule 不适用于新域
【发布时间】:2018-04-19 12:05:21
【问题描述】:

我在我的 .htaccess 中创建了一些 RewriteRules,如果我从服务器的域/URL 调用我的网站,它们都可以工作。

现在我想将一个外部域指向我的网站所在服务器上的子文件夹,但所有 RewriteRules 都不再工作了。当我调用 php 文件时一切正常,但是当我调用我的“漂亮”链接时,我想创建,然后只显示错误 404。

这是我目前的 .htaccess 文件:

ErrorDocument 401 /401.php
ErrorDocument 404 /404.php
RewriteEngine On

#redirect www request to the base domain
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

#ignore existing files and directories
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]

# Check if query string exists
RewriteCond %{QUERY_STRING} ^$

# Check that the request is not for an existing file
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule    ^spielplan$    spielplan.php    [NC,L] 
RewriteRule    ^rangliste$    rangliste.php    [NC,L]
RewriteRule    ^alletipps$    allbets.php    [NC,L]
RewriteRule    ^benutzerseite$    userpage.php    [NC,L] 
RewriteRule    ^einstellungen$    usersettings.php    [NC,L] 
RewriteRule    ^spiel/([0-9]+)/?$    spiel.php?id=$1    [NC,L]
RewriteRule    ^user/([A-Za-z0-9-]+)/?$    user.php?name=$1    [NC,L]
RewriteRule    ^([A-Za-z0-9-]+)/?$    $1.php    [NC,L]

【问题讨论】:

    标签: .htaccess mod-rewrite subdomain


    【解决方案1】:

    我找到了解决办法。

    因为我试图将我的域映射到一个子文件夹,所以这个子文件夹需要像 DocumentRoot 而不是像子文件夹一样工作。

    所以我需要补充:

    RewriteBase /
    

    在我的 .htaccess 中

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多