通过托管服务器上的.htaccess更改url

通过托管服务器上的.htaccess更改url,.htaccess,url,mod-rewrite,clean-urls,.htaccess,Url,Mod Rewrite,Clean Urls,我当前正在尝试更改新托管服务器上的url输出。我正在将多个URL从不同的提供重定向到我的托管服务器。该服务器的根目录中有一个.htaccess文件,其中包含以下命令: RewriteBase / RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?domain\.tld [NC] RewriteRule ^(.*)$ /directory/$1 因此,我将域指向创建的目录。在该目录中有另一个.htaccess文件,其中包含以下命令: Op

我当前正在尝试更改新托管服务器上的url输出。我正在将多个URL从不同的提供重定向到我的托管服务器。该服务器的根目录中有一个.htaccess文件,其中包含以下命令:

RewriteBase / 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.tld [NC] 
RewriteRule ^(.*)$ /directory/$1
因此,我将域指向创建的目录。在该目录中有另一个.htaccess文件,其中包含以下命令:

Options -MultiViews 
RewriteEngine on 

ErrorDocument 401 http://www.domain.tld/error.php 
ErrorDocument 402 http://www.domain.tld/error.php 
ErrorDocument 403 http://www.domain.tld/error.php 
ErrorDocument 404 http://www.domain.tld/error.php 
ErrorDocument 405 http://www.domain.tld/error.php 
ErrorDocument 500 http://www.comain.tld/error.php 

RewriteCond %{HTTP_HOST} !^www.domain.tld 
RewriteRule (.*) http://www.domain.tld%{REQUEST_URI} [R=301,L] 

RewriteBase / 
RewriteRule ^(.*)\/$ $1.php
所有这些都可以正常工作,唯一的例外是,如果我在浏览器中访问域,它将显示:

而不是


在指向该服务器的多个域中,只有一个域能够按照我希望的方式工作,并且该域基于wordpress。wordpress one在目录中没有上面显示的.htaccess文件。我真的很想保持干净的网址,但我也需要摆脱在域名目录时,你访问它。如果我访问该域并单击导航中的home链接,它会以我希望的方式显示url。那么,为了实现这一点,我必须在.htaccess文件中更改什么?任何帮助都将不胜感激。

使用您选择的浏览器,进入“网络”选项卡。导航到www.domain.tld后会发生什么?查找301根本没有301错误。301没有错误,这是一个重定向,如果导航到,应该会发生-否则浏览器将不会再次显示domain/dir/I并签出整个网络选项卡。我没有显示任何301。好吧,那么-是什么将url从域更改为域/dir?这不是偶然发生的——这是由某种东西触发的。测试时,请始终使用私人或匿名浏览器-缓存可能会导致头痛。。。