你好我想从我的干净网址中删除任何尾部斜杠到目前为止我的htaccess有以下代码:
#php_flag display_startup_errors on
#php_flag display_errors on
#php_flag html_errors on
RewriteEngine on
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl|jpg|png|gif)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)(.*)$ /index.php?page=$1&request=$2
#GAMW TON OHANAH
RedirectMatch 301 ^/component/(.*)$ http://www . evented . gr
ErrorDocument 404 /error.php?e=404
ErrorDocument 400 /error.php?e=400
ErrorDocument 401 /error.php?e=401
ErrorDocument 403 /error.php?e=403
ErrorDocument 405 /error.php?e=405
ErrorDocument 408 /error.php?e=408
ErrorDocument 410 /error.php?e=410
ErrorDocument 411 /error.php?e=411
ErrorDocument 412 /error.php?e=412
ErrorDocument 413 /error.php?e=413
ErrorDocument 414 /error.php?e=414
ErrorDocument 415 /error.php?e=415
ErrorDocument 500 /error.php?e=500
ErrorDocument 501 /error.php?e=501
ErrorDocument 502 /error.php?e=502
ErrorDocument 503 /error.php?e=503
ErrorDocument 506 /error.php?e=506
如果您愿意,可以通过访问www来观察奇怪的行为。事情。克
PS。我想要在两者之间没有任何内容的连续斜线用0斜线替换 例如www.domain.com//////到www.domain.com 或www.domain.com/events//////到www.domain.com/events
我尝试过以下但没有运气
RewriteCond %{REQUEST_URI} ^(.*?)(?:/){2,}$
RewriteRule . $1/ [R=301,L]
和
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
答案 0 :(得分:0)
你不能用mod_rewrite做到这一点。在应用规则时,apache已经规范化了URI,删除了所有重复的斜杠。如果您要求:
http://www.evented.gr//////a////////b/////c/////d///////
mod_rewrite看到的URI是:
/a/b/c/d/
你必须想出一个不同的解决方案。最好的办法是在源头修复此问题,不要首先使用具有重复斜杠的URL进行部署。