【问题标题】:Import website to xampp: htaccess changes将网站导入 xampp:htaccess 更改
【发布时间】:2013-01-09 09:26:39
【问题描述】:

我有一个正在运行的 Joomla 网站,它也使用 .htaccess 来生成对 SEO 友好的 URL。由于升级,我想在第一步将网站导入 xampp。这适用于欢迎页面。但是,如果我从菜单中选择一个链接,我总是会收到“找不到对象”错误。这是由于 .htaccess 文件。我必须以某种方式将其从 www.mypage.com 调整为 localhost/mypage。

这是常规网站的.htaccess 的样子:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.mypage\.de$
RewriteRule ^(.*)$ http://www.mypage.de/$1 [L,R=301]

########## Begin - Rewrite rules to block out some common exploits
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

RewriteBase /

########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

现在我必须更改它,以便它适用于 localhost/mypage 而不是 www.mypage.de。我对 .htaccess 不熟悉,所以如果有人能说出错误来自哪里以及必须在此处进行哪些更改,那就太好了。

谢谢:)

【问题讨论】:

    标签: .htaccess joomla xampp


    【解决方案1】:

    我发现了它是如何工作的:

    RewriteEngine on
    
    ########## Begin - Rewrite rules to block out some common exploits
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php [F,L]
    
    #  Uncomment following line if your webserver's URL
    #  is not directly related to physical file paths.
    #  Update Your Joomla! Directory (just / for root)
    
    RewriteBase /mypage
    
    ########## Begin - Joomla! core SEF Section
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
    RewriteRule (.*) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    #
    ########## End - Joomla! core SEF Section
    

    关键是将 RewriteBase 更改为 /mypage。

    除此之外,我删除了这部分:

    RewriteCond %{HTTP_HOST} !^www\.mypage\.de$
    RewriteRule ^(.*)$ http://www.mypage.de/$1 [L,R=301]
    

    因为它只适用于网络上的生产性网站。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2020-03-02
      • 2012-01-22
      • 1970-01-01
      • 2019-05-17
      相关资源
      最近更新 更多