Musím nahradiť% 20 biele medzery v názvoch súborov požadovaných adries URL.
Používam tento Regex: ^(.*)s(.*)$
ktoré nahrádzajú všetky biele medzery v adrese URL. Nepodarilo sa mi pracovať len pre názvy súborov.
http://example.com/subfolder/One More Sub Folder/Onother Sub Folder/File%20test%20example.jpg
Ja som pod wordpress a potrebujem RewriteCondition a RewriteRule, aby som to urobil:
http://example.com/wordpress/subfolder/One More Sub Folder/Onother Sub Folder/File-test-example.jpg
Tiež potrebujem rovnaké nahradiť požiadavky htm, ale musím tiež odstrániť rozšírenie html z názvov súborov.
Takže teraz mám tieto pravidlá, ktoré pracujú pre html:
RewriteCond %{THE_REQUEST} (.htm|.html)
RewriteRule ^(.*)(.htm|.html)$ http://www.example.com/wordpress/$1 [R=301,L]
a tieto pre presmerovanie jpg:
RewriteCond %{REQUEST_URI} !^/wordpress/wp-content/uploads/
RewriteRule ^(.*.jpg)$ /wordpress/wp-content/uploads/2016/02/$1 [R=301,L]
Na začiatku súboru htaccess mám malú transformáciu potrebnú pre prácu s wp slugom:
<IfModule mod_speling.c>
CheckSpelling on
</IfModule>
odpovede:
0 pre odpoveď č. 1Ak sú tieto existujúce súbory, môžete použiť nasledujúce pravidlo na nahradenie% 20 pomocou -:
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)s(.*)$ /$1-$2 [NC,L,R]
Pravidlo platí iba pre existujúce súbory.
0 pre odpoveď č. 2
Skúsil si to RewriteRule ^(.*)(%20)(.*)$ /$1-$2 [R=301,NE,L]
?