通过htaccess将所有joomla页面重定向到.html

时间:2014-04-16 08:08:34

标签: php .htaccess joomla

在我的joomla 2.5安装中我安装了mijosef,但是如果我去了www.mywebsite.com/name那么它会给我回复错误404。 如果我去www.mywebsite.com/name.html,没关系。 支持告诉我,我可以通过htacces处理这个问题,但我已经尝试了在这里和其他论坛中找到的解决方案,但没有成功。

我尝试插入此代码:

RewriteRule (.+)/$ /$1.html [L,R=301]

但没有任何改变。 我该如何解决这个问题?

由于

编辑: 这是我的htaccess(我用#删除了初始部分)

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

RewriteRule (.+)/$ /$1.html [L,R=301]
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html|feed|pdf|vcf|raw))$ [NC]
RewriteRule .* index.php [L]

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode data within the URL
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
########## End - Rewrite rules to block out some common exploits


########## Begin - Joomla! core SEF Section
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
########## End - Joomla! core SEF Section

2 个答案:

答案 0 :(得分:0)

RewriteRule ^(.*)? /$1.html

并查看

答案 1 :(得分:0)

试试这个;

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html|feed|pdf|vcf|raw))$ [NC]
RewriteRule .* index.php [L]