目前的网址是
domain.com/wordpress/blog
我宁愿没有 /wordpress,而是 domain.com/blog
因此,如果有人向没有位的 URL发出请求,您似乎想要重定向浏览器,然后在内部将位重写回 URI?这绝对是可行的,但如果你在某处有 wordpress 重写规则,它们根本不会相互配合。domain.com/wordpress/
wordpress
wordpress
目录中的任何规则/wordpress
都将取代您放在文档根目录中的任何规则,这是这些规则需要去的地方,并且您的 remove-the-wordress-from-URI 规则将被完全忽略。即使您打开了规则继承,/wordpress
目录中的规则也会首先执行。
如果您所有的 wordpress 规则实际上都在文档根目录的 htaccess 文件中,那么只需确保将这些放在wordpress之前:
RewriteEngine on
RewriteBase /
# redirect the browser if someone makes a request for domain.com/wordpress/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /wordpress/
RewriteRule ^/?wordpress/(.*)$ /$1 [L,R=301]
# internally rewrite the wordpress bit back into the URI
RewriteRule %{DOCUMENT_ROOT}/wordpress%{REQUEST_URI} -f [OR]
RewriteRule %{DOCUMENT_ROOT}/wordpress%{REQUEST_URI} -d
RewriteRule ^(.*)$ /wordpress/$1 [L]