2017-05-04 34 views
0

我有問題在joomla重寫URL。Joomla htaccess無法正常工作 - 模塊和rwrite

我的代碼:

## 
# @package Joomla 
# @copyright Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved. 
# @license GNU General Public License version 2 or later; see LICENSE.txt 
## 


## 
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE! 
# 
# The line just below this section: 'Options +FollowSymLinks' may cause problems 
# with some server configurations. It is required for use of mod_rewrite, but may already 
# be set by your server administrator in a way that disallows changing it in 
# your .htaccess file. If using it causes your server to error out, comment it out (add # to 
# beginning of line), reload your site in your browser and test your sef url's. If they work, 
# it has been set by your server administrator and you do not need it set here. 
## 

## No directory listings 
IndexIgnore * 

## Can be commented out if causes errors, see notes above. 
Options +FollowSymlinks 
Options -Indexes 

## Mod_rewrite in use. 

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
RewriteRule ^/index.php?option=com_ajax&format=json$ /$ [R=301,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! 
# 
# 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 - Custom redirects 
# 
# If you need to redirect some pages, or set a canonical non-www to 
# www redirect (or vice versa), place that code here. Ensure those 
# redirects use the correct RewriteRule syntax and the [R=301,L] flags. 
# 
## End - Custom redirects 


## 
# 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. 
# 
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 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. 

我想改寫這個:

RewriteRule ^/index.php?option=com_ajax&format=json$ /$ [R=301,L] 

我試圖把這個高/中碼下,似乎沒有任何工作堅持。也試圖添加「重寫基地/」(是的joomla是在根文件夾中),但仍然沒有運氣。

我也試過joomla的重定向插件/模塊,但它不工作。

我正在檢查/測試重寫https://httpstatus.io/,非www到www工作正常,但沒有別的。

我在做什麼錯?

回答

0

試試這個:

RewriteCond %{QUERY_STRING} ^option=com_ajax&format=json 
RewriteRule (.*) http://www.example.com/? [R=301,L] 
+0

一點題外話,我喜歡這個網站來進行測試:http://htaccess.mwl.be/ – YellowWebMonkey

+0

謝謝,這救了我的一天! – michal